Audio6 min

How to Normalize Audio Loudness (EBU R128 / LUFS, Explained)

Bring every track to the same perceived loudness with EBU R128 / LUFS normalization — the standard for podcasts, YouTube, and Spotify.

Normalization runs locally via Zro7 Normalize Audio using ffmpeg.wasm loudnorm. Nothing is uploaded.

To make every audio file sound equally loud, use Zro7 Normalize Audio. It runs FFmpeg's loudnorm filter (an EBU R128 implementation) to target a specific LUFS loudness — the same standard used by Spotify (-14 LUFS), Apple Music (-16 LUFS), YouTube (-14 LUFS), and podcast networks (-16 LUFS).

LUFS vs peak: why peak normalization sounds wrong

Old-school "normalize to -1 dB" scales every file so its loudest sample hits -1 dB. But peak has nothing to do with perceived loudness — a drum hit and a whispered vowel can share the same peak while sounding wildly different in volume. LUFS (Loudness Units relative to Full Scale) measures perceived loudness across the whole file, using human-hearing weighting curves. Two files at -14 LUFS truly sound equally loud.

Target LUFS by platform

  • Spotify / YouTube / Amazon Music: -14 LUFS integrated.
  • Apple Music / Tidal: -16 LUFS.
  • Podcasts (AES recommendation): -16 LUFS mono, -19 LUFS stereo.
  • Broadcast TV (EBU R128): -23 LUFS.
  • Cinema: -27 LUFS (there's a lot of headroom for explosions).

How Zro7 does it

  1. First pass: loudnorm measures the file's integrated LUFS, true peak, and loudness range.
  2. Second pass: applies gain + limiter to hit the target LUFS while keeping true peak below -1 dBTP.
  3. The result is fully compliant with EBU R128 and Spotify/Apple loudness specs.

Steps

  1. Open Normalize Audio.
  2. Drop one file or a batch.
  3. Pick target LUFS (default -16 for podcast, -14 for music).
  4. Click Normalize.
  5. Download.

Batch normalize a podcast season

Consistency matters: listeners get frustrated when episode 12 is 6 dB quieter than episode 11. Drop all episodes in at once; each is normalized to the same LUFS target independently. Combine with Podcast Cleaner to also denoise and trim silence in one pass.

Frequently asked questions

Will normalization make quiet passages loud?

loudnorm applies gain plus a soft limiter — quiet passages get louder relative to peaks, but dynamic range is largely preserved (unlike heavy compression).

Is it lossless?

The gain adjustment itself is lossless in a WAV/FLAC pipeline. If you output MP3/AAC you get one generation of encoding.

What's true peak (dBTP)?

The actual analog peak after digital-to-analog conversion, accounting for inter-sample peaks. Keeping it below -1 dBTP prevents clipping on all DACs.

Can I normalize video audio?

Extract audio, normalize, then remux — or use the loudnorm option inside <a href="/compress-video">Compress Video</a>.

Any upload?

None. loudnorm runs in ffmpeg.wasm inside your browser.

Related posts

← Back to blog