Brick-Wall Audio Limiter

Pick an audio file and a ceiling — peaks are limited in your browser, nothing is uploaded.

Try:
Limited audio

Brick-wall limit audio in your browser

Pick an audio file and set a ceiling in dBFS — no sample in the result is allowed above it. Add input gain to drive the signal into the limiter when you also want it louder, and shape how the limiter reacts with attack and release. The tool runs ffmpeg's alimiter lookahead limiter entirely in your browser, so the audio never leaves your device — safe for unreleased mixes, client work and private recordings.

A limiter is the standard last step before export: it guarantees a hard peak ceiling, so the file can't clip in a player, on upload, or after conversion to a lossy format.

Worked example

You have a finished mix master.wav that peaks right at 0 dBFS and distorts on some players. Upload it, leave Ceiling at -1, leave Input gain at 0, Attack at 5 and Release at 50, and choose wav as the output. The result master-limited.wav sounds the same but its loudest peak now sits at −1 dBFS, leaving the 1 dB of headroom that lossy encoders and streaming platforms expect.

Want it louder too? Set Input gain to 6. The whole signal is pushed 6 dB up before the ceiling, so quiet parts get 6 dB louder while peaks stay pinned at −1 dBFS.

What each control does

Starting points

Limits and edge cases

FAQ

What's the difference between a limiter, a compressor and normalizing?

A limiter sets a hard ceiling — nothing gets past it, and everything below it is left alone. A compressor works by ratio: it turns down everything above a threshold by a proportion, changing the overall dynamics. Normalizing doesn't change dynamics at all — it applies one constant gain so the file hits a target peak or loudness. Use the limiter last, as a safety net; use the compressor to even out a performance; use normalization to hit a target level.

What ceiling should I use?

-1 dBFS is the standard safety margin and a good default: it stops clipping in players and leaves room for the overshoot that mp3/AAC encoding introduces. Go to -0.3 when you want every last bit of level and the output stays lossless. Go to -2 or -3 when the file will be re-encoded more than once, or when it'll be processed further downstream.

Why isn't my audio any louder?

With Input gain at 0, the limiter only touches peaks that already exceed the ceiling — quiet material passes straight through unchanged. Loudness comes from the gain control: raise it to +3+9 dB to push the signal into the limiter. The peaks stay pinned at the ceiling while everything underneath gets louder.

What do attack and release actually change?

Attack is how quickly the limiter clamps an incoming peak. A short attack (15 ms) catches sharp transients — plosives, drum hits — almost invisibly; a longer one (20+ ms) lets the initial snap through, which sounds more open but allows brief overshoot before the wall takes hold. Release is how fast the gain comes back afterwards: short (2050 ms) is loud and tight, long (200+ ms) is smoother. If a fast release sounds like it's breathing, lengthen it or turn on smooth release.

Does this handle true-peak (dBTP) limiting?

Not exactly. The limiter works on sample peaks, so the ceiling is enforced on the decoded samples rather than on the reconstructed analogue waveform. In practice a -1 dBFS ceiling is the conventional margin that keeps true peaks in check through lossy encoding; if a platform requires a strict −1 dBTP, set the ceiling to -1.5 or -2 for extra room.

Is my audio uploaded anywhere?

No. The page downloads an ffmpeg WebAssembly build once and then processes your file locally in the browser tab — the audio never leaves your device.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool audio-limiter 'url=https://example.com/input' 'ceiling=-1' 'gain=0' 'attack=5' 'release=50' 'smooth_release=true' 'auto_level=true' 'format=mp3'

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/audio-limiter/?url=https://example.com/input&ceiling=-1&gain=0&attack=5&release=50&smooth_release=true&auto_level=true&format=mp3

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.