How do you convert a WhatsApp voice message (.opus) to MP3?
Short answer: get the voice message out of WhatsApp with Export chat (steps below), open the .opus or .ogg file in the audio cutter, type 0 as the start and 99999 as the end, pick MP3 at 128 kbps, and press Download. In Chromium, all 10 Opus files we tried opened, and the MP3 came out mono, like the note.
- The MP3 is much bigger. 128 kbps, the cutter's smallest MP3 setting, is 960.5 KB per minute. Our speech notes were 106.9 to 226.4 KB per minute, so the MP3 was 4.2 to 9.0 times their size.
- 128 kbps is enough for a voice note. 192 kbps followed the decoded note 4.5 dB more closely (30.4 dB against 25.9 dB) but is 1.5 times larger. It cannot add back what the Opus file never had.
- Length is kept. A 60 s note gave a 60 s MP3, plus the usual 25 ms of encoder delay at the start.
- Several notes into one MP3: the audio joiner opens the same files and puts them end to end.
What is inside a WhatsApp voice message
Meta's WhatsApp Cloud API page on audio messages says voice messages "require .ogg files encoded with the OPUS codec", and its format table allows Ogg audio with "OPUS codecs only" and "mono input only" (checked 2026-10-19). That page is written for businesses sending messages. We did not find a page that says which Opus settings the WhatsApp app itself uses when you record, or whether the exported file ends in .opus or .ogg, so we don't know them. For that reason we tested mono Opus at three bitrates and two input sample rates, under both names.
Opus is the codec described in RFC 6716, which says it "scales from 6 kbit/s narrowband mono speech to 510 kbit/s fullband stereo music". At low bitrates it uses a speech coder based on SILK; the standard lists audio bandwidths from 4 kHz (narrowband) to 20 kHz (fullband). The Ogg wrapper and the .opus file name come from RFC 7845. For Opus and Vorbis music files, see How do you convert OGG to MP3?
Getting the voice message out of WhatsApp
WhatsApp's help page How to export your chat history gives these steps (checked 2026-10-19):
- Android: open the chat, tap More options, then More, then Export chat, and choose Include media. The page notes that "the most recent media sent will be added as attachments", so a very old voice message may not be included.
- iPhone: open the chat, tap the contact's or group's name, then Export chat, and choose With all media or With selected media. The page says the chat "will be exported as a ZIP file"; take the audio file out of the ZIP before opening it in the cutter.
Then pick where the export goes; the page lists Save to Files on iPhone and Gmail on Android among the choices. We did not test WhatsApp itself; the steps are WhatsApp's, the measurements below are ours.
How we tested
- Speech: no real recording of anyone. We made a speech-like test signal with Python: a voice-like buzz between 95 and 230 Hz shaped into five vowel sounds, about four syllables a second, hiss for consonants, pauses, and faint room noise, 60 s and 10 min long, mono, 48 kHz.
- Music: one minute (1:00 to 2:00) of Mozart's Symphony No. 40, first movement, played by the Musopen Symphony, mixed to mono. It is in the public domain on Wikimedia Commons as a 48 kHz, 24-bit FLAC. Voice messages sometimes carry music in the background.
- Voice notes: FFmpeg 4.4.2 with libopus in its voice mode (
-application voip), mono, at 16, 24 and 32 kbps, saved as .ogg. We also made a 24 kbps note from a 16 kHz recording, saved the 24 kbps notes again as .opus, made a 10-minute note, and cut three short notes (15, 20 and 15 s) for the joiner. - Browser: Chromium 153 driven by Playwright 1.63, opening a local copy of this site's audio cutter and audio joiner, one fresh tab per file. Region 0 to the end, no fades; WAV and MP3 at 128 and 192 kbps saved from each.
- Score: signal-to-error ratio in dB of each MP3 against the cutter's own WAV export of the same note, after lining them up. That isolates what the MP3 step changes. Higher is closer; it measures the waveform, not what you hear.
How much bigger the MP3 gets
| Voice note | Average bitrate | KB per minute | MP3 128 is | MP3 192 is |
|---|---|---|---|---|
| Speech, Opus 16 kbps | 14.3 kbps | 106.9 | 8.99 times | 13.48 times |
| Speech, Opus 24 kbps | 21.9 kbps | 164.2 | 5.85 times | 8.77 times |
| Speech, Opus 32 kbps | 30.2 kbps | 226.4 | 4.24 times | 6.36 times |
| Music, Opus 16 kbps | 16.4 kbps | 123.1 | 7.80 times | 11.70 times |
| Music, Opus 24 kbps | 24.8 kbps | 186.2 | 5.16 times | 7.74 times |
| Music, Opus 32 kbps | 32.9 kbps | 247.0 | 3.89 times | 5.83 times |
| MP3 128 / 192 kbps, mono | 960.5 / 1,440.7 | |||
| WAV 16-bit mono | 5,292.0 |
Our 10-minute note was 1,644,567 bytes as Opus at 24 kbps and 9,600,522 bytes as a 128 kbps MP3, 5.84 times larger, close to the one-minute ratio. If the MP3 has to go back into a chat or an email, check the size first; WAV is 5.5 times bigger again than the MP3.
128 or 192 kbps for a voice note
| Voice note | MP3 128 score | MP3 192 score |
|---|---|---|
| Speech, Opus 16, 24 or 32 kbps | 25.9 dB | 30.4 dB |
| Music, Opus 16 kbps | 24.6 dB | 30.3 dB |
| Music, Opus 24 or 32 kbps | 24.8 dB | 30.3 dB |
The Opus bitrate made no difference to how closely the MP3 followed the note; only the MP3 setting did. 192 kbps is 4.5 to 5.7 dB closer than 128 kbps for 1.5 times the size. For speech we pick 128 kbps: it is the smallest MP3 the cutter makes. 256 and 320 kbps are there too, but they only make the file bigger.
The MP3 cannot restore what the note dropped. For the note made from a 16 kHz recording, the energy above 8 kHz was 53.6 dB below the total in the Opus file and 56.7 dB below in the MP3, against 33.8 dB below in our original. Raising the MP3 bitrate does not bring that treble back.
Why we don't score Opus against the original: the speech notes scored 6.7 to 6.8 dB against our source at all three bitrates, and an MP3 made straight from the source scored 25.8 dB. At these bitrates Opus rebuilds the voice instead of copying the waveform, so a waveform score says little about how an Opus note sounds compared with an MP3. We did not run a listening test.
Length, names and speed
- Every Opus file opened, .ogg and .opus alike, 16 kHz and 48 kHz input, and the editor said "mono". The same note under the two names gave byte-identical MP3 and WAV files.
- Length: the cutter decoded a 60 s note to 2,645,999 samples at 44.1 kHz, one sample short of 60 s (FFmpeg decoded 2,646,000). Because of that sample the cutter showed "0:60.000" instead of 1:00 and named the file "..._to_0-60-000"; the 10-minute note showed "9:60.000". Nothing audible is missing.
- MP3 start: each MP3 began 1,103 to 1,105 samples (about 25 ms) later, the encoder delay explained in Can you trim an MP3 to the exact millisecond?
- Sample rate: MP3 and WAV are written at 44.1 kHz; Opus counts time at 48 kHz (RFC 7845), so the browser converts it.
- Speed: a 60 s note opened in 0.34 to 0.46 s and its MP3 took 3.2 to 4.1 s. The 10-minute note opened in 3.1 s and its 128 kbps MP3 took 29.2 s. That was Chromium on a server, not a phone.
Joining several voice notes into one MP3
We dropped three notes of 15, 20 and 15 s on the audio joiner. It kept them in the order chosen, showed "0:50.000 total", and the WAV held 2,204,997 samples, exactly the three decoded lengths added together, so no gap was put between them. The MP3 at 128 kbps was 800,809 bytes, mono, saved as joined-audio.mp3 in 3.1 s. Drag the notes into the right order before you export; How many MP3 files can you merge into one? covers ordering and limits.
Steps
- Export the chat with its media from WhatsApp and save the voice message file where your browser can reach it.
- Open the audio cutter in Chrome, Edge or another Chromium-based browser and choose the .opus or .ogg file.
- Type 0 as the start and 99999 as the end; the end stops at the last sample. Leave both fades at 0.
- Under Export format pick MP3 and 128 kbps.
- Press Download. To trim the start or the end of the message, set the start and end times before you download.
We tested Chromium only. We did not test Safari on iPhone or Mac, so we don't know whether it opens Opus files in the cutter.
Questions
Is Opus better than MP3?
For size, by far: our 24 kbps speech note was 164.2 KB a minute, the 128 kbps MP3 960.5 KB. Whether a 24 kbps Opus note sounds as good as a 128 kbps MP3 needs a listening test, which we did not run. Keep the Opus file and convert only when a player or app asks for MP3.
Can I turn the MP3 back into a voice message?
Not on this site, which saves only MP3 and WAV.
Is the voice message uploaded?
No. The cutter decodes and encodes the file in your browser; see how to check whether an online tool uploads your file.