gizmobench
BrowseDaily

Audio Converter

Convert MP3, WAV, FLAC, M4A, AAC or OGG audio, or the soundtrack of an MP4, MOV or WebM video, to WAV or MP3 in this tab, with no upload. The file's first bytes and its codec are checked before any work begins, and the size of the output is shown before you press Convert.

Open an MP3 file

· or drop one anywhere on the stage

Never uploadedNo accountUp to 50 MBUp to 10 minutes
From
To
Bit depth
Sample rate
Channels
Download

Ready. Choose an MP3 file, or drop one on the stage.

The MP3 is decoded once, in this tab, after its frame header is read. The output is uncompressed 16-bit PCM at the sample rate you choose, which does not restore anything a lossy file already lost: it is a larger file, not a better one.

  • What the bytes sayread from the first bytes of the file, never from its extension
    Open a file and its container is identified before anything is decoded.
  • Output sizeexact arithmetic for PCM, an estimate for MP3
    Open a file to size the output.
  • Decoderasked of this browser before a conversion starts
    A codec with no decoder here is named up front, not halfway through.

The From control is a mode, not a guess: the first bytes of the file are read and checked against it, so a file that was renamed is refused with what it actually is. A bare AAC opens in M4A mode, a FLAC in WAV mode, and a MOV or WebM video in MP4 mode. An MP4 has its audio tracks listed before anything is extracted and its video is never decoded. Changing the sample rate resamples by linear interpolation, and changing the channel count averages a stereo pair down or copies a mono channel to both sides.

Two open source parts do the heavy lifting. Containers are parsed and audio is decoded by Mediabunny 1.55.7 under the MPL-2.0 (licence text, the exact package, source). MP3 encoding is lamejs 1.2.7 under the LGPL-3.0 (licence text, the exact package, corresponding source). Both are bundled unmodified at those versions and loaded from this page, never from another service.

The two open source parts, and their licences

The version and licence of each part, and what it does on this page. The licence texts and source links are in the note under the tool.

PartLicence and what it does here
MediabunnyMPL-2.0, version 1.55.7. Reads the container and decodes the chosen track through your browser.
lamejsLGPL-3.0, version 1.2.7. Encodes the MP3 frames, and is loaded only when the output is MP3.
Your browserIts own licence. Supplies the decoders, which is why support differs between browsers.

Common questions

Does converting an MP3 to WAV improve the quality?
No. An MP3 was made by throwing away parts of the sound that the encoder judged you would not miss, and that decision cannot be undone by a later step. What a WAV gives you is a file that has not been compressed again: the samples the MP3 decodes to are written out at 16 bits with no further loss, which is what an editor or a CD-burning program wants. The file gets much larger in the process, about seven times the size of a 192 kbps MP3, and the page prints the output size before you press Convert.
Is my file uploaded anywhere?
No. The container is parsed in this tab, the audio is decoded by the decoder built into your browser, and the output file is written by JavaScript here and handed straight to the browser's download. There is no upload, no queue, no account and no request of any kind, so a 10 minute file converts at the speed of your own machine. The only thing kept between visits is the five settings (From, To, bitrate, sample rate and channels), stored in this browser under one key. Once they are saved, a Start over button appears beside Share above the page heading, and it forgets them.
Why does it refuse a file I know is an MP3?
Because the first bytes say otherwise. The page reads the first 64 bytes of the file and looks for the marks each container leaves: RIFF and WAVE for a WAV, an ID3 tag or an MPEG frame sync for an MP3, OggS for an Ogg, and an ftyp box with its brand for M4A and MP4. If those bytes disagree with the From mode you picked, the conversion stops before a decoder is asked for anything and the message names what the file actually is, so the fix is one click on the From control. Renaming a file changes its extension and nothing else, which is why the check exists at all.
Which formats can it open, and why does that depend on my browser?
The container side is handled here, so MP3, WAV, FLAC, M4A, AAC, OGG, MP4, MOV and WebM are all parsed on the page. The From control has five modes, and the other four formats open in the mode they belong to: a bare .aac file in M4A mode, since an M4A carries the same AAC audio inside an MP4 box; a FLAC in WAV mode, since it holds the same kind of PCM a WAV does, packed losslessly; and a MOV or WebM video in MP4 mode, since only its audio track is taken. Compressed audio is decoded by your browser through WebCodecs, while plain PCM inside a WAV needs no decoder at all, so the codec inside the container decides the answer: AAC in an M4A or MP4, Vorbis or Opus in an Ogg or WebM, FLAC, MP3 and PCM. Current versions of Chrome, Edge, Firefox and Safari decode most of those, with the exact list differing a little between them and between operating systems. Rather than guess, the page asks your browser whether it can decode this particular track and tells you before conversion starts if the answer is no, naming the codec so you know what to export instead.
What comes out, exactly?
For WAV: uncompressed PCM at 16 bits, at 44,100 Hz or 48,000 Hz, mono or stereo, with a 44 byte RIFF header whose sizes are computed from the sample count rather than guessed at. For MP3: a constant bitrate file at 96, 128, 192, 256 or 320 kbps, encoded frame by frame at 1,152 samples a frame. The size of the output is shown before you start, and it says which kind of number it is: a WAV size is exact arithmetic, so one minute of 44.1 kHz stereo is 10.1 MB, while an MP3 size is an estimate from the bitrate that the encoder's own frames move by a few per cent. If the output sample rate differs from the file's own, the audio is resampled by linear interpolation, which is an approximation and is named as one on the page. Stereo to mono averages the two sides so nothing panned hard disappears, and mono to stereo copies the one channel to both.
How do I convert a file, step by step?
Set From to the format of the file you have and To to MP3 or WAV, then press Open audio, or drop the file anywhere on the stage. The page reads the file's first bytes, its tracks and its codec, and prints the size the output will be. Choose a bitrate for an MP3, or a sample rate and channel count for either, press Convert, and press Download when the progress bar finishes. The new file keeps the old name with the new extension, so interview.m4a comes out as interview.mp3.
Can it take the audio out of a video?
Yes, for MP4, MOV and WebM files, which covers what phones, cameras and screen recorders usually save. Set From to MP4 and open the video: its audio tracks are listed before anything is extracted, as buttons with the codec and channel count of each, and you pick one, so a film carrying more than one language is never guessed at. The track you pick is decoded and written out as an MP3 or a WAV. The picture is never decoded, which is why a long clip's soundtrack comes out quickly, and a video with no sound at all is refused before any work starts, with a message saying so. The same 50 MB and 10 minute ceilings apply, so cut a longer recording into pieces first.
Does it work on an iPhone, Android phone, Mac, Windows PC or Chromebook?
Yes, in a current version of whichever of Safari, Chrome, Edge or Firefox the device has, and there is nothing to install: no app, no extension and no account. The conversion runs on the device itself, so a phone takes longer than a laptop over the same file. On an iPhone or iPad the finished file goes where Safari puts downloads, which by default is the Downloads folder in the Files app. Which codecs open still depends on that browser, and the page tells you before converting if one cannot be decoded.
Why are there limits on a tool that runs on my own machine?
Because decoding expands audio, and the expansion lands in this tab's memory. Ten minutes of 48 kHz stereo is 57.6 million samples, which is 219.7 MB held as 32-bit floats before a single output byte exists, and the encode allocates again on top of that. So the ceilings are 50 MB of file and 10 minutes of audio, checked against the file before it is read and against the decoded track before anything is allocated. Neither is a paywall: there is nothing to buy here. For something longer, cut it into pieces first and convert them one at a time.
Can I stop a conversion once it has started?
Yes. Cancel sits next to Convert and takes effect within a frame or two, because the decode and the MP3 encode both run in chunks and check for it between them. Writing a WAV is a single pass at the end instead, so a cancel during those few hundred milliseconds lands just after it rather than during it: the finished bytes are thrown away, no download appears, and the page tells you it was cancelled. Cancelling leaves the file open and your settings as they were, so you can change the bitrate or the channel count and start again without choosing the file a second time. Nothing partial is written: the download only appears once a complete file exists.

Files are decoded and re-encoded in your browser, so nothing is uploaded. Converting cannot restore detail a lossy file already lost, and an MP3 output is a lossy encode of its own. Which formats can be decoded depends on your browser, and this page checks the file's actual bytes and its codec before starting rather than trusting the extension.