Video · 59 tools · nothing uploads

Normalize audio volume

Scale an audio (or video's audio track) so its loudest sample hits a target peak level: a two-pass peak scan followed by a gain-scaled re-encode, both through WebCodecs, so this runs in the browser only, like video-convert. Always outputs MP4 with an unchanged video track (if any). Nothing is uploaded.

Input

Options

Normalize audio volume scans every sample for the loudest one, then rescales the whole file so that peak lands on targetDb, -1 dBFS by default. A file whose measured peak is 0 gets a message and no output file at all. Both passes run through WebCodecs, which Node lacks, so the command line refuses this one.

Questions

Is this peak normalisation or loudness normalisation?

Peak. The tool scans every sample to find the single loudest one, then scales the whole file by one fixed gain so that peak lands exactly on your target. It is not LUFS or ReplayGain, so two files normalised to the same target can still feel different in loudness. Nothing is compressed or limited, and the dynamics are untouched.

What is targetDb and what should I use?

It is the target peak level in dBFS, where 0 is full scale, and it defaults to -1 to leave a little headroom. It must be a number of zero or less; a positive value is refused. Because the gain is computed as target divided by the measured peak, the loudest sample lands exactly on your target and nothing clips past it.

Why does it take two passes over my file?

Because a single gain figure cannot be known until the loudest point in the whole file has been found. The first pass decodes every sample and tracks the peak. The second pass re-encodes, multiplying each sample by the gain. That means the audio is decoded twice, which is why long files take a while.

What does it give me back?

Always an MP4, named after your input with -normalized.mp4 on the end. A video track in the source is carried through unchanged, so normalising a video gives you the same picture with louder sound. The result text reports the measured peak in dBFS, the gain factor applied and the target you asked for.

What happens with a silent file?

Nothing is written. If the measured peak is zero the tool reports "audio is silent (peak is 0)" and stops, because scaling silence by any factor is still silence. You get the message and no output file rather than a pointless copy.

Why will it not run on the command line?

Because both the scan and the re-encode go through WebCodecs, which Node has no equivalent of. The CLI and MCP surfaces refuse it with "audio-normalize needs a browser (OffscreenCanvas). Use it at /video/audio-normalize instead." The file stays on your device in either case.

Related Video tools

n→nConvert audioChange an audio file between MP3, WAV, FLAC, Ogg and M4A (AAC). In the browser only, like video-convert, because mediabunny decodes and encodes through WebCodecs, which Node has no equivalent of.Runs on each file you dropn→1Trim or merge audioCut an audio file down to a start-end range, or concatenate two or more audio files one after another. A packet-level copy with no decoding, so this runs in Node, the CLI and MCP as well as the browser. Output is always an MP4 audio file (.m4a).Combines the files you dropn→nExtract audio from videoPull the audio track out of a video into its own MP4 audio file. A packet-level copy with no decoding or re-encoding, so this runs in Node, the CLI and MCP as well as the browser.Runs on each file you dropn→nMute videoDrop the audio track from a video, keeping the picture untouched. A packet-level copy of the video track only, no decoding, so this runs in Node, the CLI and MCP as well as the browser.Runs on each file you dropn→nReverse audioPlay an audio file (or a video's audio track) end to start, decoded to raw samples and re-encoded as WAV. WAV input decodes in Node, the CLI and MCP as well as the browser, the same PCM path audio-trim-merge's packet copy sits next to; AAC, MP3, Opus, FLAC and Vorbis need a browser.Runs on each file you dropn→nFade audio in or outRamp an audio file's (or a video's audio track's) volume up from silence at the start, down to silence at the end, or both, linear or logarithmic, decoded and re-encoded as WAV through the same PCM path as audio-reverse. WAV decodes everywhere; AAC, MP3, Opus, FLAC and Vorbis need a browser.Runs on each file you dropn→nConvert mono to stereo or backChange an audio file's (or a video's audio track's) channel count: average every channel down to mono, duplicate a mono track into identical left and right channels, or swap left and right, decoded and re-encoded as WAV through the same PCM path as audio-reverse. WAV decodes everywhere; other codecs need a browser.Runs on each file you dropn→nDraw a waveform imageDraw an audio file's (or a video's audio track's) peaks as a PNG, one column per pixel of width, decoded through the same PCM path as audio-reverse and drawn straight into a pixel buffer, the way font-preview rasterizes glyphs, with no canvas. WAV decodes everywhere; other codecs need a browser.Runs on each file you drop