EN | FR
ITU-R BS.1770-4 • EBU R128 • VERIFIED -14.05 LUFS

What is LUFS? Integrated, Short-term, Momentary

LUFS — Loudness Units relative to Full Scale — is how streaming actually measures loudness. Not peak. Not RMS. Perceived loudness with K-weighting and smart gating. If you master for Spotify, YouTube, or TikTok, this is the number that matters.

The quick definition: 1 LU = 1 dB, but LUFS is absolute. 0 LUFS = 0 dBFS, just weighted and gated to match human hearing. It's identical to LKFS; the ITU calls it LKFS, the EBU calls it LUFS. Same math, same target.

Why RMS stopped working

RMS measures average electrical power. Two tracks can both be -12 dB RMS and feel 6 dB apart, because our ears are not flat. We're most sensitive around 2–5 kHz, less sensitive to sub-bass. RMS also doesn't know that silence shouldn't count toward loudness.

LUFS fixes both: it applies a K-weighting filter that mimics head and ear resonance, then it throws away quiet parts using gating before averaging. Result: numbers that match what you actually hear. This is why broadcast and streaming abandoned RMS after EBU R128 in 2010.

K-weighting: the 4 dB bump that matters

K-weighting is not an EQ suggestion. It's two cascaded biquads defined exactly in ITU-R BS.1770-4. Any approximation drifts 0.3–0.8 LUFS. JSM implements the exact coefficients:

ITU-R BS.1770-4 Filters (verified)

Stage 1: High-shelf
  f0 = 1681.9744509555319 Hz
  G  = +3.99984385397 dB
  Q  = 0.7071752369554193
  b0 =  1.53512485958697  b1 = -2.69169618940638 b2 =  1.19839281085285
  a1 = -1.69065929318241 a2 =  0.73248077421585

Stage 2: High-pass RL
  f0 = 38.13547087602444 Hz
  Q  = 0.5003270373238773
  b0 =  1  b1 = -2  b2 =  1
  a1 = -1.99004745483398 a2 =  0.99007225036621

Total offset: -0.691 dB (LKFS → LUFS)

Purpose of Stage 1 is to model acoustic head shadowing — a gentle +4 dB lift above 1.5 kHz. Stage 2 is a second-order high-pass around 38 Hz to roll off subsonic energy humans don't perceive as loud. After filtering, channels are weighted: stereo L,R = 1.0, Center = 1.0, Surround L/R = 1.41 (+1.5 dB). LFE is ignored.

If your LUFS meter doesn't state these exact biquad coefficients, it's approximating.

The three time scales: Momentary, Short-term, Integrated

TypeWindowGatingUse for
Momentary (M)400 ms, no overlap, un-weighted overlap slidingNoneLive meter, peaks, catching jumps
Short-term (S)3 sec sliding, 100 ms hopNone, but 10 sec absolute historyVerse vs chorus loudness, TikTok hooks
Integrated (I)Whole program, 400 ms blocks, 75% overlap (100 ms hop)-70 LUFS absolute + -10 LU relative (S1)Official delivery spec, Spotify / YouTube normalization

Momentary: 400 ms

400 ms rectangular with no gating. It reacts fast. If you see Momentary hitting -7 LUFS while Integrated is -14, you have a very loud transient section. Useful while riding a limiter, but never use it to judge a full track.

Short-term: 3 seconds

3-second sliding rectangular, updated at least every 100 ms. No relative gating. This is what humans feel as “that chorus is loud.” For short-form like TikTok, Reels, Shorts, short-term and PSR (peak-to-short-term ratio) predict if your hook will poke through on phone speakers.

Integrated: the official number

Integrated measures the entire program from start gate to end gate. Procedure per EBU R128 S1:

  1. Slice audio into 400 ms blocks with 75% overlap → a new block every 100 ms.
  2. Calculate loudness for each block after K-weighting.
  3. Absolute gate: discard any block < -70 LUFS. This removes silence, count-ins, long tails.
  4. Average remaining blocks = L_abs.
  5. Relative gate: discard any block < L_abs - 10 LU. This removes background, quiet intros, breakdowns.
  6. Average remaining = Integrated LUFS.

If your track has a 30-second quiet intro at -40 LUFS and a loud drop at -8, gating ensures the intro doesn't artificially drag you to -18. Without it, you'd over-limit to compensate. That's why EBU R128 needs both gates.

LUFS Targets: -23 for broadcast, -14 for streaming

EBU R128 mandates -23.0 LUFS ±0.5 LU for broadcast with true-peak -1 dBTP and LRA ≤20 LU for most content. Streaming normalized to -14 LUFS for Spotify Normal (default), YouTube ~ -14, Apple Sound Check -16, TikTok ~ -14 to -16 depending on device.

This doesn't mean you must master to exactly -14. Master to where your music breathes — typically -9 to -12 for punchy electronic, -14 to -16 for dynamic indie/acoustic — and let the platform turn it down. What matters is you don't clip true-peak after they transcode. See Spotify -14 LUFS guide and why -14 is the new 0 dB.

Rule of thumb

Master integrated -14 to -10 for most streaming pop/electronic. If LRA >8, you have dynamics headroom. If PLR <6, you're likely over-compressed. Check both before exporting. More in LRA / PLR / PSR explained.

True-Peak is part of LUFS delivery

LUFS alone doesn't catch inter-sample peaks. A file that peaks at 0 dBFS sample-peak can hit +3.2 dBTP after 4x oversampling + reconstruction filter — real DAC clipping, plus codec clipping after AAC 256k or MP3. That's why EBU R128 and all platforms ask for True-Peak ≤ -1 dBTP (or -2 dBTP for lossy pipelines). Read the deep dive: dBTP vs sample peak.

How JSM Loudness measures it accurately

JSM Loudness runs 100% in your browser — no upload, no server. All filtering uses Web Audio + exact ITU coefficients, not approximations, verified against EBU reference: -14.05 LUFS Integrated -3.08 dBTP Short -11.88 Mom -11.23 LRA 3.30. Session persists in memory so you can A/B versions without re-uploading.

Privacy: audio never leaves the device. This satisfies Quebec Law 25 minimal collection principle — we process locally, store nothing, and run GA4 only after explicit consent for 180 days via localStorage + cookie. See Privacy.

Quick checklist before release

Measure your track now — no upload, exact EBU R128

Verified -14.05 LUFS • 4x true-peak • LRA PLR PSR • 100% offline

Open Analyzer
Next: Spotify -14 → True-Peak vs Sample EBU R128 in 5 min