ByteScope

Loudness Normalizer

Drop a recording — or a video, its audio track is used — and read its integrated loudness, loudness range and true peak at once. Pick a target such as -16 LUFS, download a WAV, and see the re-measured result next to the target. The file never leaves your computer.

Your files never leave your browser — all processing is local.

Target loudness

-9 … 0 dBTP

The presets are labelled by where the value is commonly used, not by platform: check the requirement of the place you publish to.

Drop audio or video files, or click to choose

Several files at once are fine; they are processed one after another. Nothing is uploaded.

Before you start

  • Normalizing changes the overall level only. It does not even out a recording that swings between loud and quiet; that takes a compressor, which this page does not include.
  • Raising a quiet recording to the target raises its noise floor too. Run Audio Denoise first.
  • If the target cannot be reached, the page shows how far off the result is. It does not squash the sound to make the number look right.
  • Your files are processed in this tab and never uploaded.
  • Length limit: about 93 minutes of mono or 1 hour of stereo per file at 48 kHz. The page states the exact limit for your file.
  • Output is a 16-bit WAV at the file's own sample rate. M4A and Opus output are not available in this version.

About this tool

Loudness normalization means changing a recording's overall level until its measured loudness reaches a target, so that episodes, tracks or clips sit at the same volume. This page measures with ITU-R BS.1770-4, the K-weighted algorithm that EBU R128 is built on, and reports integrated loudness in LUFS, loudness range (LRA) in LU, true peak in dBTP (found with 4× oversampling) and sample peak, plus a short-term loudness curve over the whole file. It then applies one overall gain to reach your target, uses a true-peak limiter to keep peaks under the ceiling, and measures the result again. There is no server behind the page: the file is decoded, measured and written back in your browser, so there is no upload, queue or account. Audio and video files both work, and from a video only the audio track is read. Several files can be dropped together and are processed one after another to the same target.

Choosing a target

The presets are -14, -16, -19, -23 and -24 LUFS. The true-peak ceiling defaults to -1 dBTP and can be set from -9 to 0, and a custom target between -40 and -5 LUFS is possible too. -23 LUFS is the EBU R128 broadcast level and -24 LUFS is ATSC A/85 for US broadcast. -14, -16 and -19 are labelled only as values commonly used for streaming, podcasts and mono podcasts: the page does not name platforms, because it does not claim to know any platform's current requirement, so check the one you publish to. The default is -16 LUFS.

What it changes, and what it does not

Normalization here is one gain applied to the whole file plus a limiter that only acts on peaks that would cross the ceiling. It does not compress dynamics, equalize or clean up: a recording that swings between a whisper and a shout still swings afterwards, just around a different average. That takes a compressor, which this page deliberately leaves out. If reaching the target would push peaks past the ceiling, the limiter catches them and the page tells you the truth — for example target -16.0, result -16.4 LUFS — instead of squashing the sound to make the number look right. Raising a very quiet recording by 20 dB or more also raises its noise floor, so run Audio Denoise first.

Output and limits

The result is a 16-bit WAV at the same sample rate as the source, so the browser never resamples; M4A and Opus output are not available yet. The decoded file is held in memory, and Chrome's decoder refuses more than about 268 million samples per channel, which works out to about 93 minutes of mono or about 1 hour of stereo at 48 kHz. The page checks this before it starts and states the exact limit for your file, so a two-hour recording has to be cut into parts first. For the next step, Silence Remover trims pauses, Extract Audio from Video pulls the sound out of a video, and Video Subtitles turns it into a transcript.

Frequently asked questions

Is my recording uploaded anywhere?

No. The file is decoded by your browser, measured and processed by code running in the same tab, and written out as a WAV there. Nothing is sent to a server, because there is none behind the page, and nothing about the file — its name, length or content — leaves the browser.

Which target should I pick: -14, -16, -19, -23 or -24 LUFS?

-23 LUFS is the EBU R128 level for European broadcast and -24 LUFS is ATSC A/85 for US broadcast. -14, -16 and -19 are values commonly used for streaming video, podcasts and mono podcasts. The page does not know what any given platform currently asks for, so it does not list platform names; if you publish somewhere with a stated loudness target, use that number as a custom target. With no requirement, -16 LUFS is a reasonable default for speech.

Why is the result not exactly my target?

Because the limiter has a job to do. If the gain needed to reach the target would push some peaks past the true-peak ceiling, the limiter pulls those peaks down, and the loudness ends a little under the target. The page measures the output again and shows both numbers, and says when the limiter is the reason. A recording with a very wide loudness range, or with sharp peaks, is the usual case. Lowering the target a little, or raising the ceiling, closes the gap.

Will it even out a recording that is sometimes loud and sometimes quiet?

No. It changes the whole file by one amount, so a quiet passage and a loud passage stay as far apart as they were. Evening them out needs a compressor, which changes how the voice sounds and is not what normalization means; this page does not include one. What it does is make different files land at the same average loudness, which is the usual need for a podcast series or a set of clips.

Why is the output a WAV and not an MP3 or M4A?

WAV is uncompressed, so the normalized sound is not pushed through another lossy encoder, and every editor can open it. It is written at the same sample rate as your file, 16-bit, and it is larger than an MP3 — about 5.8 MB per minute of mono at 48 kHz, double for stereo. M4A and Opus output are planned but not built yet; if you need a smaller file, convert the WAV afterwards.

Can I normalize a two-hour podcast?

Not in one piece yet. The browser has to decode the whole file into memory first, and Chrome's decoder stops at about 268 million samples per channel: roughly 93 minutes of mono, or about 1 hour of stereo, at 48 kHz. The page checks the length before doing any work and tells you the limit for your file. Cut the recording into parts with an audio editor, normalize each to the same target, and they will match.