FFmpeg recipe

FFmpeg: Normalize Loudness with EBU R128 (loudnorm)

Loudnorm implements the EBU R128 standard: perceptual loudness normalization (not peak normalization). Required by Spotify, Apple Podcasts, and TV broadcasters.

Command

ffmpeg -i input.mp4 -af loudnorm=I=-16:TP=-1.5:LRA=11 -y output.mp4
Prefer no terminal?
Use the Audio Normalizer in your browser
Open Audio Normalizer

What each flag does

-iInput file. Can be a video, audio, or image. Repeat for multiple inputs.
-afAudio filter chain. e.g. silenceremove, loudnorm.
-yOverwrite output file without confirmation.
I=-16Integrated loudness target (LUFS). -16 = podcast standard, -14 = Spotify, -23 = TV broadcast.
TP=-1.5Maximum true peak (dBTP). -1.5 leaves headroom for codec-induced clipping.
LRA=11Loudness range. 11 LU is standard for spoken content.

Notes & gotchas

  • For two-pass loudnorm (much more accurate), see the FFmpeg wiki: https://trac.ffmpeg.org/wiki/AudioVolume.
  • For YouTube, target I=-14 to match algorithm-normalized playback.

Related recipes