LUFS and Loudness Normalization
LUFS (Loudness Units relative to Full Scale) is the standard unit for how loud audio is perceived to be, defined by ITU-R BS.1770 and used by EBU R 128. It is a whole-programme average rather than an instantaneous reading: the signal is K-weighted to approximate human hearing, cut into overlapping 400-millisecond blocks, and gated so that silence and room tone are discarded before averaging. Loudness normalization is what a playback platform does with that number — it measures a file's integrated LUFS, compares it to its own target (-14 LUFS on Spotify and YouTube, -16 on Apple Music, -23 for European broadcast), and applies one gain offset so everything plays back at the same perceived level. Because the platform sets the level anyway, how loud you export does not decide how loud a viewer hears it; only your dynamic range and your true-peak headroom survive normalization.
How the Measurement Works
A peak meter answers "what is the largest number in this file". That has almost nothing to do with loudness — a sine wave and a snare hit can peak identically and sound nothing alike. BS.1770 answers a different question.
K-weighting. Two filters run first: a high-shelf adding about 4 dB above roughly 2 kHz, which models a head in a sound field, and a second-order high-pass (the RLB curve, about -3 dB near 38 Hz at 48 kHz) that rolls off the bottom, because low-frequency energy contributes far less to perceived loudness than its raw power suggests. Channels are then summed with fixed weights — left, right and centre at 1.0, surrounds at 1.41, LFE excluded.
Blocks. The weighted signal is cut into 400-millisecond blocks overlapping by 75%, so a new block starts every 100 ms, each with its own mean-square level.
Gating. This is what makes the number match human judgement, and the part most explanations skip. An absolute gate discards every block below -70 LUFS, removing digital silence and room tone. The survivors are averaged, and a relative gate then discards everything more than 10 LU below that average. What remains is the foreground of the programme. Without the relative gate, a talking-head video with long pauses would measure several LU quieter than it plainly sounds, and the obvious fix would be to compress the speech — exactly the wrong response.
Three windows, one of which matters. Momentary is 400 ms, short-term is 3 seconds, integrated is the whole programme with the gates applied. The first two are ungated and exist for monitoring while you work; integrated is the only one a platform normalizes against.
Loudness range (LRA). EBU Tech 3342 measures how much the loudness moves rather than where it sits: the spread between the 10th and 95th percentiles of the 3-second values above a relative gate 20 LU down, in LU. The percentiles are deliberate — the 10th stops a fade-out dominating the bottom, the 95th stops one gunshot dominating the top. A dense music video reads around 4 LU; a feature film 15 or more.
True Peak, and Why the Ceiling Is Not Zero
Loudness is only half a delivery spec; the other half is true peak, written dBTP. A sample-peak meter reports the largest value stored in the file. A true-peak meter reports the largest value the waveform reaches once those samples are reconstructed into a continuous signal — and the real peak usually falls between two samples. BS.1770 measures it by attenuating 12.04 dB, oversampling at least four times, low-passing, taking the peak, and adding the 12.04 dB back.
So a file whose sample peak never exceeds -0.1 dBFS can reconstruct well above 0 dBTP, and every lossy encoder in the chain adds overshoot of its own. The clipping happens inside the listener's decoder, which is why it is inaudible on your timeline and obvious on their phone. EBU R 128 sets the ceiling at -1 dBTP; Netflix and ATSC A/85 ask for -2.
What Each Platform Targets
| Platform | Integrated target | True peak | Boosts quiet uploads? |
|---|---|---|---|
| Spotify | -14 LUFS | -1 dBTP | Yes, with a limiter |
| YouTube | about -14 LUFS | -1 dBTP | No — loud goes down, quiet is left alone |
| Apple Music | -16 LUFS | -1 dBTP | Mostly turns down only |
| Amazon Music | -14 LUFS | -1 to -2 dBTP | Yes |
| Tidal | -14 LUFS | -1 dBTP | Yes, album-aware |
| Deezer | -15 LUFS | -1 dBTP | Yes |
| TikTok / Instagram / Facebook | not published; measures near -14 | -1 dBTP advised | Varies, without notice |
| Apple Podcasts | -16 LUFS stereo, -19 mono | -1 dBTP | Delivery spec — you hit it |
| Netflix | -27 LKFS, dialog-gated | -2 dBTP | Delivery spec — you hit it |
| EBU R 128 (EU broadcast) | -23 LUFS ±0.5 | -1 dBTP | Delivery spec — you hit it |
| ATSC A/85 (US broadcast) | -24 LKFS ±2 | -2 dBTP | Delivery spec — you hit it |
Two kinds of number are in that table. Music and social platforms apply a playback target to whatever you give them — you cannot miss it, only waste effort fighting it. The podcast, broadcast and film rows are delivery specs, where being 3 LU out is a rejected master. TikTok, Instagram, Facebook, X and Twitch publish nothing: their numbers are measurements, not specifications, and change without announcement.
The mono podcast target looks like an error and is not. A mono file duplicated to both speakers picks up about 3 dB of acoustic gain the single-channel measurement never saw, so its target sits 3 LU below the stereo one. The loudness target chart carries these numbers with each one cited to its source, plus a calculator for the gain offset.
Why It Matters, and Why "Make It Louder" Is the Wrong Request
You record a talking head on a decent mic with the gain set conservatively, cut the dead air, put a music bed under it and export. The file measures -23 LUFS. On YouTube it plays back at -23, because YouTube only turns content down and yours is already below target. Next in the feed is a creator whose export measured -13, got turned down to -14, and is therefore 9 dB louder than you. On phone speakers in a room with other people in it, that is the difference between audible and not.
The fix is a single +9 dB gain offset on the finished mix, with a limiter catching anything that would breach the true-peak ceiling. Nothing else changes. But the complaint usually arrives as "make it louder", and only one of the three faults behind those words is a loudness fault:
- The export measures low. The real one. Mastering solves it exactly: one gain offset, no change to balance or tone.
- The voice is buried under the music. A balance fault wearing a loudness costume — raising the master raises the music with it. The fix is sidechain ducking or lowering the music layer.
- It measures at target and still feels weak. That is dynamic range: the video you compare against has its quiet parts closer to its loud parts, so its average sits higher for the same peak. Closing that gap costs transients and the platform normalizes the result back to where you started. On a normalizing platform the loudness war is already over.
How to Hit a Loudness Target on a Finished Video
- 1Finish the mix firstIntegrated loudness is a whole-programme measurement, valid only once nothing else will change. Adding a music bed after mastering invalidates it, and so does appending a silent tail.
- 2Measure integrated loudness and true peakTwo numbers, not one: integrated LUFS and the highest true peak in dBTP. Any EBU R 128 meter reports both, as does ffmpeg's loudnorm filter in analysis mode.
- 3Apply the difference as a single gain offsetTarget minus measured is the offset. Apply it to the whole file. This is a linear operation and changes nothing except level.
- 4Catch the ceiling with a limiter, only if neededRe-check true peak after the offset. If it now exceeds the ceiling, a true-peak limiter brings it back. This is the only stage that alters the sound, so the less it does the better.
Within about 1 LU of the target is on-spec everywhere. Chasing the last few tenths is not audible and is not worth a second render.
Common Mistakes
Loudness normalization is not peak normalization
Peak normalization scales a file until its loudest sample touches a ceiling. It says nothing about how loud the file sounds: two videos peak-normalized to the same -1 dB can differ by 15 LUFS if one is a dense music bed and the other is a quiet voice with one door slam in it.
A LUFS number is meaningless without which LUFS you mean
Momentary is a 400 ms window, short-term is 3 seconds, integrated is the gated whole programme. Only integrated is what platforms normalize against, and a video measuring -14 LUFS integrated can still contain a short-term passage at -6. A spec saying "-14 LUFS" means integrated unless it says otherwise.
Uploading louder does not make you louder
Exceeding the target gets you turned down by exactly the amount you exceeded it. What does not get undone is the limiting you did to get there, so you arrive at the same playback level as everyone else, minus your transients.
-1 dBTP is not -1 dBFS
A sample-peak meter reads the samples in the file. A true-peak meter reads the waveform they reconstruct into, which routinely rises 1-3 dB higher between them. A file that never exceeds -0.1 dBFS can clip on a listener's decoder, and lossy encoding adds overshoot on top of that.
Normalization does not level your video internally
It is one gain offset applied to the whole file. If your intro is 10 LU louder than your outro, the platform preserves that gap perfectly. Internal consistency is a mixing problem no loudness target will solve.
A LUFS target is not a quality score
Netflix delivers at -27 LKFS on purpose, because a film is watched in a quiet room; podcasts sit near -16 because they are heard on a phone in traffic. A target only means something with a playback context attached.
How This Works in Valmera
Mastering is one request — "master it", or just "the export sounds quiet on TikTok". It normalizes the final mix to -14 LUFS integrated with a true-peak ceiling of -1.5 dBTP and a loudness-range target of 11 LU, on the preview and the export identically, so what you approve is what ships. The ceiling is half a dB tighter than the -1 dBTP platforms ask for, because they are going to re-encode the file to a lossy codec and that overshoot has to land somewhere.
The measurement covers your programme only. Every export closes with a short Valmera end card, joined on after normalization — otherwise its silence would be averaged into the integrated loudness and pull the whole video down. Mastering changes loudness and not balance, so if music is burying your voice this is not the tool: the music layer has its own gain and ducks under speech automatically. Mastering itself is off unless you ask for it.
What it does not do. There is one target and it is -14 LUFS — no field for -16 for Apple Podcasts, none for -23 for EBU delivery. There is no LUFS meter or readout in the interface, so you are trusting the number rather than watching it. There is no per-speaker levelling or diarization output, no denoise or "studio sound" repair, and music baked into a single recorded track cannot be separated from the speech.
Related Terms
- Sidechain ducking — the actual fix for what people call a loudness problem.
- Silence detection — the threshold that decides what counts as a pause; BS.1770's -70 LUFS gate is its relative.
- Edit decision list — where a mastering flag lives instead of being baked into pixels.
- Proxy editing — why preview and export are different renders, and why loudness must match in both.
- Aspect ratio — the other delivery spec every platform quietly imposes.
- The full glossary — every term, with the numbers that apply.
Frequently Asked Questions
Valmera is an agentic video editor: you describe the outcome and an AI agent performs the edit, including the mix, voiceover and the export, which comes from your original file at source quality.
Master Your Export Without Opening a Meter
50 free credits on signup, no card. Upload your footage, say "master it", and the preview you approve is normalized to -14 LUFS exactly like the export.
Start free →