Normalize to a LUFS target
Measure how loud a file actually sounds and move it to the level your platform expects — -14 LUFS for Spotify and YouTube, -16 for Apple Podcasts, -23 for broadcast. Measured with ITU-R BS.1770, the same standard the platforms use. Nothing is uploaded.
drop a track, mix or episode here
or click to pick. Drop several and each is measured and normalized on its own.
| Before | After | |
|---|---|---|
| Integrated loudness | — | — |
| True peak | — | — |
| Gain applied | — | |
Why peak normalizing does not do this
The peak normalizer sets the loudest single sample to a chosen ceiling. That guarantees no clipping and tells you nothing about how loud the file sounds: two tracks peak-normalized to the same -1 dB routinely differ by ten decibels in perceived loudness, because loudness follows average energy over time and peaks do not.
Every streaming service measures perceived loudness instead, using ITU-R BS.1770, and turns your track down to their own target if it arrives louder. So the useful question is not "how high is my peak" but "what will Spotify do to this", and the only way to know is to measure the same way they do.
What LUFS actually measures
The signal is first K-weighted — a high shelf and a high-pass that together approximate how the head and ear respond, which is why bass contributes less to the reading than its raw energy suggests. It is then divided into 400 ms blocks overlapping by three quarters, and the mean square of each block is taken.
Then come the two gates, which are the part most home-made implementations get wrong. An absolute gate discards anything below -70 LUFS, so leader silence does not count. A relative gate then discards blocks more than 10 LU below the average of what survived, so a quiet intro or a long fade does not drag the number down. Integrated loudness is the average of what is left. Without the gates, a track with a quiet opening measures far softer than it sounds.
The numbers worth knowing
- -14 LUFS — Spotify, YouTube, Amazon Music and Tidal. The most common answer for music.
- -16 LUFS — Apple Music and Apple Podcasts.
- -19 LUFS — a common spoken-word podcast target for mono episodes, where a lower figure is normal because mono measures differently from stereo.
- -23 LUFS — EBU R128, European broadcast. -24 LUFS is the American equivalent, ATSC A/85.
Mastering louder than the target buys nothing. The platform turns it down to their number regardless, and all you have given up is dynamic range — which is why the loudness war stopped making sense the moment normalization became standard.
True peak, and why the ceiling is -1
The waveform between two samples can rise above both of them. A converter or a lossy encoder reconstructing that curve will clip on it even though no stored sample was ever over full scale, which is why a master that looked clean can distort after it has been turned into an AAC stream.
True-peak measurement oversamples before looking, so it catches those inter-sample peaks. The -1 dBTP ceiling is the standard allowance, and it exists precisely to leave room for what encoding will do. If your file is going to be encoded again after this — which it will be, by the platform — that headroom is not optional.
What this tool will not do to your file
It applies one gain figure to the whole file and nothing else. No compression, no limiting, no EQ, no dynamic adjustment of any kind. Turn it down and it is the same recording, quieter. Turn it up and it is the same recording, louder.
That matters because reaching a loud target on quiet, dynamic material is not always possible without changing the material. If the gain needed would push the true peak past your ceiling, this stops at the ceiling and tells you how far short it landed rather than squashing the file to hit a number. When that happens the honest fix is upstream: reduce the dynamic range deliberately with the compressor, then normalize.
Podcasts, and why they need this most
Music arrives at a platform already mastered. A podcast usually does not, and an episode assembled from a host in a treated room, a guest on a laptop microphone and an intro bed bounced from a library is routinely inconsistent by more than 10 LU. Listeners experience that as reaching for the volume control every few minutes.
Normalize each source separately before assembling, not the finished episode afterwards: a single gain on the final mix moves everything together and fixes none of the imbalance between segments. Measure each part, bring each to the same target, then join them.
How the measurement was checked
BS.1770 is fully specified, so an implementation of it can be verified rather than trusted. This one is validated against ffmpeg's ebur128 filter — the reference implementation — across tones, pink noise, drums, speech-like bursts, mono files and a track with a long silent intro that exercises both gates. Integrated loudness agrees to within 0.05 LU. True peak agrees to within a third of a decibel and is biased deliberately high rather than low, because reading a peak low is the error that lets a file clip.
FAQ
What LUFS should I use for Spotify?
-14 LUFS integrated, with a true peak no higher than -1 dBTP. YouTube, Amazon Music and Tidal use the same figure. Apple Music and Apple Podcasts use -16.
Is my file uploaded?
No. Measurement and gain both run in your browser tab. You can disconnect from the internet after the page loads and it still works.
How is this different from the normalize tool?
That one sets the loudest sample to a ceiling, which says nothing about perceived loudness — two files peak-normalized identically can differ by 10 LU. This measures loudness the way streaming platforms do and matches that.
Should I master louder than -14 to stand out?
No. The platform turns anything louder back down to its own target, so all you lose is dynamic range. That is why the loudness war ended when normalization became standard.
Why did it stop short of my target?
Because reaching it would have pushed the true peak past your ceiling. This tool only applies gain — it will not compress your file to hit a number. Run it through the compressor first, then normalize.
What is a true peak, and why -1 dBTP?
The reconstructed waveform between samples can be louder than any stored sample, and an encoder will clip on that. Measuring with oversampling catches it, and the 1 dB of headroom is there to survive the platform re-encoding your file.
Does it change the dynamics of my mix?
Not at all. One gain figure is applied across the whole file. Nothing is compressed, limited or equalised.
Can I normalize a whole podcast at once?
You can, but it is usually the wrong move. A single gain on a finished episode shifts everything together and does not fix a quiet guest. Normalize each source to the same target, then join them.
Which target for an audiobook?
ACX asks for RMS between -23 and -18 dB with peaks under -3 dB, which is a different measurement, but -19 LUFS with a -3 dBTP ceiling lands comfortably inside it.
Is the measurement accurate?
It is validated against ffmpeg ebur128, the reference implementation, to within 0.05 LU across tones, noise, drums, speech and mono files. The check is in the repository.