Converting WhatsApp voice notes to MP3
They exported a chat, got .opus files, and nothing on their computer will open them. Some have .ogg from an older WhatsApp build and think it is a different format. They may be doing this for evidence — insurance, HR, legal — which makes where the file goes matter a great deal.
A WhatsApp voice note is Opus audio, and Windows Media Player, most editors and a lot of submission forms will not open it. Getting an MP3 out of one is two steps: save the note out of WhatsApp as a file, then convert that file. Opus reads perfectly in the converter on this site, which runs inside the browser tab, so pick MP3, take 64 kbps rather than 320 for reasons set out below, and download the result. Nothing is uploaded and no account is involved, which matters if the recording is going to an insurer, an HR file or a solicitor.
Your .opus and someone else's .ogg are the same audio
The codec is the compression scheme. WhatsApp uses Opus for every voice note, on every platform, and has done for years. The container is the box the compressed audio sits in, and WhatsApp uses Ogg. Different WhatsApp builds have labelled that box differently over time: some write .opus, older ones write .ogg, and the file that arrives when you download from WhatsApp Web can differ again from the one the phone saves.
The contents are the same either way, so a page treating .ogg voice notes as a separate problem is padding. Drop either onto the converter and the file card reads the real codec out of the headers before anything runs, so you can see what you have rather than trusting the extension.
Which also means renaming is not a fix. Changing .opus to .mp3 relabels the box and alters not one byte inside it, and while some players will open the renamed file and convince you it worked, the strict software you were trying to satisfy still rejects it. If Windows is what refuses to play the file, the codec error and the two ways to clear it are in the Opus codec error guide.
Getting the voice notes out of WhatsApp
One note
Press and hold the voice message, then choose Share — the arrow, or the share icon along the top. On iPhone pick Save to Files and a folder you can find again, such as On My iPhone → Downloads; on Android pick a file manager or Drive. This is the route for one or two notes, and the one to use on a phone with no computer nearby.
A whole conversation
WhatsApp will export a chat as a transcript plus its media.
- iPhone: open the chat, tap the contact or group name at the top, scroll to the bottom, choose Export Chat, then Attach Media. Send it to Save to Files and you get a
.zip. Tapping the zip in the Files app unpacks it into a folder. - Android: open the chat, tap the three-dot menu, then More → Export chat → Include media, and pick where it goes.
Two things about that export are worth knowing. The version with media is capped, so a long chat is truncated and the oldest messages fall off the end; export sooner rather than later. And the _chat.txt inside the zip carries the timestamps and filenames of every attachment, which is what ties a voice note to a moment in the conversation.
Straight out of the Android folder
On Android the notes are already on the disk, filed by month. In a file manager, go to Internal storage → Android → media → com.whatsapp → WhatsApp → Media → WhatsApp Voice Notes and into the month you want. On older phones and older builds that folder sits at the top level of internal storage instead, as WhatsApp → Media → WhatsApp Voice Notes.
The filenames look like PTT-20260812-WA0003.opus. PTT is push-to-talk, the middle block is the date the note was recorded, and the counter is its order within that day. That naming is worth preserving, for reasons covered further down.
WhatsApp Web or Desktop
Hover the voice message, open the chevron menu on it, and choose Download. The file lands in your Downloads folder with whatever extension that build writes. If the computer is where you need the MP3 anyway, this is the least painful route, because it skips the phone entirely.
Converting the file to MP3
Drop the .opus or .ogg onto the converter, choose MP3, pick a bitrate, and download what comes out. The page reads the file off your disk itself and it is never sent anywhere. There is no size cap we impose; a browser tab runs out of address space near 2 GB, which no voice note approaches.
This is a real encode, not a rewrap, so it takes time roughly in proportion to the length of the note. Opus cannot be copied into an MP3 file untouched, because MP3 files hold MP3 frames and nothing else, so the audio genuinely has to be decoded and compressed again.
That second encode is the honest cost of the job. The Opus encoder has already thrown detail away and nothing puts it back, whatever a converter claims. It barely matters here: speech is the easiest material an encoder ever gets, and one careful pass at a sensible bitrate is inaudible on a phone speaker or earbuds. Convert once, from the original, rather than converting the same note repeatedly. What a lossy conversion actually costs works through this properly.
One limitation to state plainly: this site converts Opus in but writes no Opus out. The good Opus encoder crashes in this WebAssembly build, and the substitute FFmpeg carries would quietly hand you a worse file at the same bitrate, so it is not offered at all. The same goes for the app on the phone, whose file picker does not accept Opus in the first place — for WhatsApp notes this is a job for the website, not the app.
It is also worth checking whether MP3 is required at all. Several transcription services take Opus and OGG directly, and so do most modern players; the requirement is often somebody's old instructions rather than the software's real limit. Thirty seconds on the destination's accepted-formats list can save you the encode, and which formats transcription tools accept lists the common ones.
Why 64 kbps, and not 320
WhatsApp encodes voice notes at a low bitrate, in mono, because they are built to send quickly over a poor mobile connection. The exact figure varies with the build and the network, but it is a small fraction of where MP3's ladder starts. Asking for 320 kbps from a source like that adds bytes and nothing else: there is no extra detail in the file for the bigger number to carry.
| Setting | Roughly per minute | A two-minute voice note | Verdict |
|---|---|---|---|
| The original Opus, ~24 kbps mono | 0.18 MB | about 0.35 MB | What you started with |
| MP3 64 kbps | 0.48 MB | about 1 MB | The right answer for a voice note |
| MP3 96 kbps | 0.7 MB | about 1.4 MB | Fine if there is music or background under the speech |
| MP3 128 kbps | 1 MB | about 1.9 MB | More than this source contains |
| MP3 320 kbps | 2.4 MB | about 4.8 MB | Thirteen times the original for no audible gain |
| WAV, 16-bit | 5.8 MB | about 11.5 MB | Only if an editor or transcriber demands WAV |
The note is mono and stays mono — nothing here invents a second channel — so every bit you pay for goes to the one channel that exists. If a batch has to fit under an email attachment limit or a submission size cap, 64 kbps is already near the floor of what is worth doing; the arithmetic for hitting a specific target is on the file-size page.
Every Opus file reports a 48 kHz sample rate, because that is the rate the codec decodes at, however narrow the audio fed into it was. A voice note showing 48 kHz mono is not a high-fidelity recording of anything: it is a phone microphone squeezed hard for a mobile network. That number is a property of Opus, not a measure of quality.
Converting a whole exported chat
An export with media can hold dozens of voice notes. The converter takes one file at a time, so this is repetitive rather than difficult, and three habits keep it from becoming a mess.
- Keep the filenames. The download keeps the original name with a new extension, so
PTT-20260812-WA0003.opusbecomesPTT-20260812-WA0003.mp3. That name is the only thing linking the audio back to a line in_chat.txt, and renaming to "voice note 1" throws away the ordering you were given. - Pick the bitrate once and do not change it partway through. A folder of files at three different settings is impossible to explain to anyone later.
- Convert copies, not the originals. Work from a duplicate of the unpacked folder and leave the zip untouched.
If the recipient only needs to listen, consider joining them into one track rather than handing over forty files. The joiner puts them back to back in the order you add them, which is chronological order if you add them by filename.
If these notes are evidence
A good share of these conversions are for an insurance claim, a workplace grievance or a solicitor, which changes what "done" means.
The MP3 is a re-encode. It is a derivative of the voice note, not a duplicate of it, and anyone examining it closely can tell. Keep the untouched .opus and the whole export zip exactly as WhatsApp produced them, converted copies alongside, and supply both if you are asked for one. The transcript in _chat.txt is what carries the timestamps; a converted file does not preserve them, because the converter writes its own container metadata.
The other reason this matters is confidentiality. A voice note bound for a legal or medical matter is exactly the file you do not want to hand to a web service in exchange for a free conversion. The converter here is FFmpeg compiled to WebAssembly, running in the tab: it reads the file from your disk, converts it in memory and hands you the result. No server, no account, no per-file size cap and no daily job count of the kind the hosted converters apply. You can check that yourself by opening the browser's network panel and watching nothing leave.
The converter on the home page handles this. Free, no upload, no sign-up.