Audio Guides

WAV vs MP3 Audio Compression: What Is the Technical Difference?

One format stores every sample you recorded. The other throws most of them away on purpose. Here is what that difference actually costs you.

What a WAV holds

A WAV is a thin wrapper around raw numbers. A short RIFF header states how fast the samples were taken, how many bits each one uses and how many channels there are. After that the file is just samples, in order, to the end.

That makes the size pure multiplication. CD audio is 44,100 samples per second, 16 bits each, across two channels: a little over 1.4 million bits per second, which works out at roughly 10 MB per minute. A three minute song is about 30 MB. Nothing about the content changes that. Silence occupies exactly as much room as a full orchestra, because the file is storing the number zero at the same rate it stores anything else.

Nothing is analysed, and that is the point. A WAV is what a recording interface produces and what every editor wants to work on.

What MP3 does instead

MP3 is a perceptual codec. It splits the signal into frequency bands and runs a psychoacoustic model across them, asking not what is in this signal but what will a person actually hear. Human hearing has known blind spots: a loud sound masks a quieter one close to it in frequency, and it goes on masking for a short time after it stops. The encoder finds those masked regions and spends very few bits, or none at all, on whatever is hiding in them.

What it discards, it discards permanently. Decoding an MP3 does not restore the original samples; it reconstructs an approximation from what was kept. That is what lossy means, and it is why a WAV made from an MP3 recovers nothing. It is a large, uncompressed copy of the damaged version.

It is also why MP3 works so well. It is not compressing the data cleverly the way a zip file does. It is declining to store most of it.

What changes as the bitrate drops

Lower the bitrate and the encoder has fewer bits to spend, so its model has to be more aggressive about what counts as inaudible. The result is not a quieter or duller file so much as a file with specific, recognisable faults.

Cymbals and hi-hats suffer first, because noise-like high frequency content is expensive to encode and easy to approximate badly. It tends to go watery or hissy. Sharp transients pick up pre-echo, a faint smear of sound arriving just before the hit that caused it, which is audible on castanets, close-miked percussion and solo piano. Most encoders also apply a lowpass filter at lower bitrates, cutting the top of the spectrum off entirely rather than spending anything up there.

Where the line sits for you depends on the music, the encoder and what you are listening on. Do not take anyone's number for it, mine included. Encode the same track a few different ways and listen on the headphones you actually own.

Repeated encoding is the real enemy

A single good MP3 encode is usually fine. Stacking them is not. Every time a lossy file is decoded, edited and re-encoded, the second encoder reads the first one's artifacts as signal and spends bits preserving them, while making fresh compromises of its own. The damage accumulates in a way no single pass ever shows.

This is the practical argument for keeping a lossless master. Edit in WAV or FLAC, and encode to MP3 once, at the end, from the uncompressed source. When you need to change something, go back to the master rather than to the MP3 you already published.

Which one to keep

Keep the FLAC. It is lossless, so it compresses the file without altering a single sample, and there is rarely a reason to archive raw WAV when FLAC does the same job in less space. Keep the WAV only while you are working on it.

Distribute the AAC, or the MP3 if compatibility is what you are optimising for. Newer codecs do more with the same number of bits than MP3 does, and anything made this century plays them. MP3 survives because it plays on absolutely everything, including hardware old enough to vote, which is still worth something.

The mistake to avoid is keeping only the lossy copy of something you recorded yourself. You cannot get back what the encoder threw away.

What the browser can and cannot do here

The converter on this site works in both directions. It decodes MP3 to 16 bit PCM WAV, and it encodes WAV to MP3 with LAME at a fixed 192 kbps, in a background worker. That is a sensible single setting for music and speech, but it is one setting: there is no variable bitrate mode and no way to choose a lower or higher rate.

Two related details. Audio is decoded at 44.1 kHz, so a 48 kHz file is resampled on the way through. And tags are dropped, because the decoder hands over samples and nothing else.

When you want that control, use LAME directly. It ships inside ffmpeg and inside most desktop audio software, and a one line command or a couple of clicks gets you variable bitrate encoding and the tags the browser cannot write.

Nothing leaves the machine

The decode and the encode both run in the page you have open, so unreleased material and private recordings stay on your own disk instead of passing through someone else's server. Open your browser's developer tools, watch the Network tab, and convert something. The first MP3 encode downloads the encoder library. No request carries the audio, because none is made.

Run it

WAV to MP3 takes your files in this tab and converts them without uploading anything.

Open WAV to MP3