How to level audio files to one peak ceiling — free
- Step 1Decide a common ceiling — Pick one target for the whole set — −1 dBFS is the usual choice. You will apply the same value to every file.
- Step 2Open the Peak Volume Normalizer — Go to volume-normalizer. FFmpeg WASM loads in the page; no account needed.
- Step 3Drop the first file — Drag in one clip (MP3, WAV, FLAC, M4A, OGG, Opus, or video). It is read locally — nothing uploads.
- Step 4Set the agreed target and format — Enter your common Target peak (dBFS) and pick an output format. Keep both identical across the set for a true match.
- Step 5Run and download, then repeat — Run, download the
-peaknormfile, then drop the next clip with the same settings. Repeat for every file. - Step 6Spot-check perceived loudness — Listen back. If dense and sparse clips still sound uneven, switch the set to loudness-normalizer.
Levelling a four-clip set to −1 dBFS
Each clip is measured and shifted independently, so all four end at the same peak ceiling. Perceived loudness can still differ (right column).
| Clip | Measured peak | Gain to −1 | After (peak / approx loudness) |
|---|---|---|---|
| Interview A | −7.0 dBFS | +6.00 dB | −1 dBFS / ~ −20 LUFS |
| Interview B | −15.0 dBFS | +14.00 dB | −1 dBFS / ~ −19 LUFS |
| SFX drop | −2.0 dBFS | −1.00 dB | −1 dBFS / ~ −14 LUFS |
| Voice-over | −11.0 dBFS | +10.00 dB | −1 dBFS / ~ −21 LUFS |
Peak levelling vs loudness levelling
Choose by what 'level' means for your project — a technical ceiling or an equal-loudness experience.
| You want… | Use | Result |
|---|---|---|
| Same loudest-sample level / common ceiling | This tool (peak) | Identical peak, fast, predictable. |
| Files that sound equally loud | loudness-normalizer | Equal perceived loudness (LUFS), per platform. |
| No clip on the loudest of the set | true-peak-limiter | True-peak ceiling honoured on playback. |
| Tame loud-quiet swings inside each clip | speech-leveler | Compression evens internal dynamics. |
Cookbook
Real levelling workflows. The point of each: every file is measured on its own, then shifted to the shared ceiling — and where peaks match but loudness does not, the recipe says so.
Two interview takes to a shared −1 ceiling
Different rooms, different mic gain. Each take is measured and shifted to the same peak so they cut together cleanly.
Take 1: max_volume -7.0 -> +6.00 dB -> -1 dBFS Take 2: max_volume -15.0 -> +14.00 dB -> -1 dBFS Both now share a -1 dBFS peak ceiling.
Keep the same output format across the set
Match container and ceiling for every clip so they behave identically in your editor.
Settings reused for all clips: Target peak: -1 dBFS Output format: WAV (pcm_s16le) clipA-peaknorm.wav, clipB-peaknorm.wav, ... all at -1 dBFS
A loud SFX drop gets pulled DOWN to the ceiling
Levelling is bidirectional: a clip already louder than the target is attenuated so it matches the rest.
SFX: max_volume -2.0 dB Target: -1 dBFS Gain = -1 - (-2.0) = -1.00 dB (turned down) Result: SFX peak now matches the set at -1 dBFS.
Peaks match but it still sounds uneven
All clips at −1 dBFS peak, yet the dense SFX sounds far louder than the sparse voice-over. That is the LUFS gap — switch tools.
After peak levelling (all at -1 dBFS peak): voice-over ~ -21 LUFS SFX drop ~ -14 LUFS (sounds ~7 LU louder) For equal loudness: /audio-tools/loudness-normalizer
Level, then guard the final mix peak
After levelling clips and assembling them, run the bounce through the limiter so the combined peaks stay safe.
1) Peak-normalize each clip to -1 dBFS (this tool) 2) Assemble in your editor 3) /audio-tools/true-peak-limiter on the bounce (-1 dBTP) Clean, consistent, no overs.
Edge cases and what actually happens
Files differ in perceived loudness after levelling
By designMatching peaks does not match loudness. Dense clips sound louder than sparse ones at the same peak. For equal perceived level use loudness-normalizer across the set.
Expecting to drop the whole set at once
Single file onlyThe tool is single-file (acceptsMultiple is false). Level a set by running each clip in turn with the same target and format.
One clip is already louder than the target
By designIt is attenuated (negative gain) to meet the shared ceiling, so the set stays consistent rather than letting one clip stick out.
Mixed input formats in the set
SupportedEach file is measured and shifted on its own, regardless of source format. For a uniform set, pick one output format and reuse it for every run.
A silent or near-silent clip in the set
ExpectedIf volumedetect finds no usable peak, the fallback is 0 dB and the clip stays effectively silent. Silence cannot be levelled up to match real signal.
Some clips are noisy
ExpectedLevelling up a quiet clip raises its noise floor. Denoise the offending clips with ai-noise-reducer before or after levelling.
A clip exceeds Free limits
413 too largeEach file must fit the tier: Free 50 MB / 30 min, Pro 200 MB / 120 min, Pro-media / Developer 100 GB / unlimited duration. A long master may need a paid tier.
Re-levelling an already-levelled clip
PreservedRe-running with the same target re-measures the at-ceiling peak and shifts ~0 dB. Idempotent — safe to redo if you change one clip.
Keeping lossy output for the whole set
Re-encodedEach MP3/M4A run is a fresh lossy generation. For editing masters, level to WAV/FLAC and export lossy only at the end.
Loudest clip clips after combining in the editor
PreservedPer-clip peak levelling does not account for summed peaks when clips overlap. Run true-peak-limiter on the final bounce.
Frequently asked questions
How do I level several files to the same volume?
Pick one target ceiling and run each file through the tool with that same value. Pass one measures each file's peak; pass two shifts it to the shared ceiling, so all files end at the same loudest-sample level.
Will levelling make them all sound equally loud?
Not necessarily. Peak levelling matches the loudest sample, not perceived loudness. Dense and sparse files at the same peak can still sound several LU apart. For equal loudness use loudness-normalizer.
Can I level a whole folder at once?
No — the tool processes one file per run. Level a set by running each file individually with identical settings.
What target should I use across the set?
−1 dBFS is the standard shared ceiling. The key is using the same value for every file so they truly match.
Does it turn loud clips down as well as quiet ones up?
Yes. A clip already above the target is attenuated to meet it, so no single clip sticks out of the set.
Should I keep the same output format for every clip?
Yes, for a uniform set. Reuse the same Output format selection so all clips share container and codec.
My clips have different durations — does that matter?
No. Each clip is measured and shifted independently. Only its own peak matters, not its length, as long as it fits the tier duration limit.
Why does one levelled clip still sound louder?
It is denser, so it has higher perceived loudness at the same peak. Switch the set to loudness-normalizer if you need equal-loudness output.
Is anything uploaded?
No. Each file is levelled in your browser via FFmpeg WebAssembly; nothing leaves your device.
Does levelling change tone or dynamics?
No. It only shifts gain. To even out loud and quiet parts within a clip, use speech-leveler.
What are the per-file limits?
Free: 50 MB and 30 minutes. Pro: 200 MB / 120 min. Pro-media and Developer: 100 GB and unlimited duration.
Should I limit the final mix after levelling?
Yes if clips overlap — summed peaks can exceed the ceiling. Run true-peak-limiter on the final bounce.
Privacy first
Every JAD Audio tool runs entirely in your browser via FFmpeg (WebAssembly) and RNNoise. Your audio files never leave your device — verified by zero outbound network requests during processing.