How much headroom does a WAV need before you convert it to MP3?
Short answer: a quiet, dynamic recording needs almost nothing, but a loud master that already touches 0 dBFS needs turning down before it becomes an MP3. In our tests with this site's encoder:
- Loud master at 0 dBFS, MP3 128 kbps: the MP3 peaked at +1.67 dB over full scale, with 1,102 samples over in 30 seconds. Setting the volume to 80% (-1.94 dB) brought every sample back under.
- Same file at 192 to 320 kbps: it went 0.10 to 0.20 dB over. 95% volume (-0.45 dB) was enough at every one of these bitrates.
- A dynamic orchestral recording at 0 dBFS: only 2 samples over, at 256 kbps, and none at 128, 192 or 320 kbps.
To convert a loud WAV without overs: open the WAV to MP3 converter, choose 192 kbps or higher, set Volume to 95% (or 80% if you need 128 kbps), then Convert. If your WAV is only loud between its samples, as our harshest test file was, see the table below: it needed 70%.
Why an MP3 can go louder than the WAV it came from
A 16-bit WAV cannot hold a sample above full scale (0 dBFS), so a mastered WAV that is pushed to the limit has many samples sitting right at that ceiling. MP3 does not store those samples. It stores an approximation of the sound, and when a player rebuilds the waveform from it, the small errors add to the signal. Where the original already sat at the ceiling, the rebuilt wave can poke above it.
The waveform between samples matters too. A smooth wave drawn through samples that are all at or under 0 dBFS can still rise above 0 dBFS between them. That in-between level is called the true peak, and it can be measured by oversampling the file. Once the audio is re-encoded, those in-between peaks can turn into real samples.
Whether the overs are heard as clipping depends on what plays the file. A decoder that works in floating point can hand the overs on intact; anything that turns the sound into 16-bit numbers has to cut them off. In Chromium, the decoder flattened them, as shown further down.
How we tested
- Music: 30 seconds (1:00 to 1:30) of Mozart's Symphony No. 40, first movement, played by the Musopen Symphony, in the public domain on Wikimedia Commons, as a 44.1 kHz 16-bit stereo WAV. Average level (RMS) -19.4 dBFS when its highest sample is at 0 dBFS.
- Loud master: the same excerpt raised 18 dB and run through FFmpeg 4.4.2's look-ahead limiter (attack 5 ms, release 50 ms). At a 0 dBFS peak its RMS is -9.9 dBFS and 1,550 samples sit at full scale, the dense, flat-topped shape of a loud modern master. It is our own stand-in, not a commercial release.
- Test signal and a harsh case: 30 seconds of synthetic chords, bass and noise bursts (RMS -18.4 dBFS), and the same signal through the same limiter (RMS -6.6 dBFS). The second one is deliberately extreme: its true peak was 2.73 dB above its highest sample.
- Levels: each file scaled so its highest sample was at 0, -0.1, -0.3, -0.5, -1 or -2 dBFS. From the 0 dBFS files we also used the converter's volume slider at 95, 90, 85, 80 and 75% (and down to 50% for the harsh case).
- Encoder: the converter's own encoder and code path, run outside the browser so we could make 236 MP3s at 128, 160, 192, 224, 256 and 320 kbps (44.1 kHz stereo). To prove the copy is exact, we ran nine of the settings on the real WAV to MP3 page in Chromium 153 through Playwright 1.63: all seven 16-bit cases gave byte-for-byte the same MP3.
- Measure: each MP3 decoded with FFmpeg 4.4.2 to 32-bit floating point, which keeps anything above full scale. We counted the samples above full scale (left and right counted separately) and the highest peak. True peak of the WAVs: 4 times oversampling; FFmpeg's own true-peak meter agreed to within 0.15 dB.
The loud master: how far to turn it down
Starting from the loud master with its highest sample at 0 dBFS, each cell shows the MP3's highest peak and the number of samples above full scale in 30 seconds. 0 means none.
| Volume slider | 128 kbps | 160 kbps | 192 kbps | 224 kbps | 256 kbps | 320 kbps |
|---|---|---|---|---|---|---|
| 100% (0 dB) | +1.67 dB, 1,102 | +1.02 dB, 595 | +0.10 dB, 14 | +0.11 dB, 13 | +0.19 dB, 1,013 | +0.20 dB, 951 |
| 95% (-0.45 dB) | +0.95 dB, 221 | +0.61 dB, 83 | -0.35 dB, 0 | -0.35 dB, 0 | -0.25 dB, 0 | -0.30 dB, 0 |
| 90% (-0.92 dB) | +0.65 dB, 34 | +0.03 dB, 2 | -0.77 dB, 0 | -0.83 dB, 0 | -0.70 dB, 0 | -0.77 dB, 0 |
| 85% (-1.41 dB) | +0.26 dB, 8 | -0.27 dB, 0 | -1.30 dB, 0 | -1.33 dB, 0 | -1.23 dB, 0 | -1.30 dB, 0 |
| 80% (-1.94 dB) | -0.51 dB, 0 | -0.98 dB, 0 | -1.85 dB, 0 | -1.88 dB, 0 | -1.72 dB, 0 | -1.81 dB, 0 |
| 75% (-2.50 dB) | -1.01 dB, 0 | -1.32 dB, 0 | -2.37 dB, 0 | -2.40 dB, 0 | -2.30 dB, 0 | -2.37 dB, 0 |
Lowering the peak in your own editor works the same way as the slider. With the loud master exported at -0.3 dBFS, 192 to 320 kbps had no overs; at 128 kbps it still went 1.32 dB over, and only the -2 dBFS export was clean at 128 and 160 kbps. Leaving 0.1 dB, which some mastering presets do, was not enough at five of the six bitrates (only 224 kbps was clean); 128 kbps went 1.84 dB over.
The lower bitrates overshoot more. We did not test why. One difference we measured in an earlier test is that this encoder cuts the high end lower at 128 kbps (near 16.7 kHz) than at 320 kbps (near 20.2 kHz), which changes the shape of the wave more.
Four kinds of WAV, the lowest safe volume
Each WAV started with its highest sample at 0 dBFS. The cell is the highest volume step at which that step and every lower step we tried gave an MP3 with no sample above full scale.
| WAV | True peak at 0 dBFS | 128 kbps | 160 kbps | 192 kbps | 224 kbps | 256 kbps | 320 kbps |
|---|---|---|---|---|---|---|---|
| Mozart, dynamic | +0.02 dB | 100% | not tested | 100% | not tested | 95% | 100% |
| Synthetic test signal | +0.35 dB | 100% | not tested | 100% | not tested | 100% | 100% |
| Loud master | +0.16 dB | 80% | 85% | 95% | 95% | 95% | 95% |
| Harsh case (limited test signal) | +2.73 dB | 70% | 80% | 70% | 75% | 80% | 75% |
Results did not always improve one step at a time. The harsh case at 128 kbps was clean at 80% but went over again at 75% (31 samples, +0.85 dB), and clean again from 70% down. Leave some margin rather than stopping at the first clean step.
Use the WAV's true peak, not its sample peak
How loud a WAV's highest sample is did not predict the overs well: all four files had their highest sample at exactly 0 dBFS, and they needed anything from 100% to 70%. The true peak did much better. Across all 236 MP3s, the MP3's highest peak was never more than this far above the WAV's true peak (after the volume slider):
| Bitrate | 128 kbps | 160 kbps | 192 kbps | 224 kbps | 256 kbps | 320 kbps |
|---|---|---|---|---|---|---|
| Largest rise above the WAV's true peak | 1.78 dB | 1.19 dB | 0.32 dB | -0.05 dB | 0.11 dB | 0.04 dB |
In practice: at 192 to 320 kbps, none of the 100 MP3s made from a WAV with a true peak at or below 0 dBTP had a sample over. At 128 and 160 kbps, 1 of the 20 made from a WAV at or below -1 dBTP still went over; the 4 made at or below -2 dBTP were all clean, which is a small sample.
If your editor has a true-peak meter, use it. If you have FFmpeg, its ebur128 filter has a true-peak mode that looks for the peak "on an over-sampled version of the input stream" (FFmpeg Filters Documentation, ebur128, read 2026-10-12): ffmpeg -i master.wav -af ebur128=peak=true -f null - prints it at the end as True peak. On our files it read 0.2 dB for the loud master and 2.8 dB for the harsh case.
What happens to the overs in the browser
We decoded the converter's MP3s with Chromium's own decoder (the Web Audio decodeAudioData call). It returned no sample above full scale at all. Instead, the samples FFmpeg had found above full scale came back pinned at exactly 0 dBFS: 1,102 samples at full scale for the loud master at 128 kbps, 14 at 192 kbps and 952 at 320 kbps, where FFmpeg had counted 1,102, 14 and 951 over. So in that browser the overs become flattened tops as the file is decoded, and turning the volume down afterwards cannot bring them back. The MP3 to WAV converter FAQ notes the same thing for MP3s converted to WAV.
The WAV to MP3 converter also has a limit on the way in: before encoding it caps every sample at full scale, after applying the volume slider. That matters for 32-bit float WAVs, which can hold peaks above 0 dBFS. We made one from the loud master with its peak at +2 dBFS. At 100% volume and 192 kbps, the MP3 came out 0.62 dB over full scale with 1,007 samples over; at 75% (-2.50 dB) it peaked at -0.30 dBFS with none. The slider is applied first, so it can bring a float WAV back under before anything is cut.
One more detail from the code: for MP3 output, the converter turns the decoded sound into 16-bit samples by cutting off the fraction, without dither. We checked what that does to a 16-bit WAV at 100% volume: Chromium decodes positive and negative samples with slightly different scales, and after the cut, 17,407 of the 65,536 possible 16-bit values (all of them positive) come out one step lower than they went in. One step is 1/32,768 of full scale, so it cannot push anything over.
Settings to use
- Choose 192 kbps or higher. In our tests 192 to 320 kbps overshot far less than 128 and 160 kbps (at most 0.32 dB above the WAV's true peak, against up to 1.78 dB).
- For a loud master, set Volume to 95%. That cleared our loud master at every bitrate from 192 to 320 kbps. Above 100% the page itself warns that loud parts can clip.
- If you must use 128 kbps, set 80%, or 85% at 160 kbps.
- If you can measure the true peak, aim for 0 dBTP or lower at 192 kbps and up, and -2 dBTP or lower at 128 or 160 kbps. If your WAV's true peak is well above its sample peak, as in our harsh case, turn it down by that much more.
- Quiet or dynamic recordings (speech, classical, anything that does not sit at the ceiling) needed no change at all in our tests.
Turning the volume down does not change the file size: every 30-second MP3 at a given bitrate came out the same number of bytes.
Questions
Does a 320 kbps MP3 avoid the problem?
No. Our loud master at 0 dBFS still had 951 samples over full scale at 320 kbps, and 13 to 14 at 192 and 224 kbps. Higher bitrates overshoot by less, not by nothing.
Will I hear the clipping?
We did not run a listening test, so we can't say. We only counted samples above full scale and measured how far over they went.
Is the WAV uploaded when I convert it?
No. The converter reads and encodes the file in your browser; see how to check whether an online tool uploads your file.