What it reads, and what it writes
In. Multichannel WAV, 8 to 32-bit integer or 32/64-bit float, WAVE_FORMAT_EXTENSIBLE included. FLAC, to the format’s own eight-channel ceiling. Ogg Vorbis at any channel count.
Out. 24-bit PCM WAV by default, or 32-bit float, at whatever rate went in. Nothing is resampled and nothing is dithered.
Not compressed output. A FLAC or an Ogg goes in; a WAV comes out. Re-encoding it here would mean shipping an encoder to undo a decode, and the file you want next is almost always the uncompressed one.
What the numbers mean
Integrated loudness, in LUFS, is the whole file’s loudness under ITU-R BS.1770’s K-weighting and its two gates: an absolute one at −70 LUFS, and a relative one 10 LU below the ungated mean. Quiet passages are excluded, which is why a sparse file reads louder than its average would suggest.
True peak, in dBTP, is the peak of the waveform between the samples, recovered by oversampling. It is what a converter will actually have to reproduce, and it can sit several dB above the highest sample in the file.
Delivery targets
The gain is one number, and it is
min(target − measured, ceiling − true peak). So the ceiling
caps the gain rather than reshaping the audio: nothing is limited,
nothing is compressed, and if the ceiling stopped the file short of its
target the page says so and says what loudness it reached instead.
| Platforms | Target | Ceiling |
|---|---|---|
| spotify, youtube, tidal, streaming | -14 LUFS | -1 dBTP |
| apple-music, podcast | -16 LUFS | -1 dBTP |
| amazon-music | -14 LUFS | -2 dBTP |
| deezer | -15 LUFS | -1 dBTP |
| broadcast-ebu | -23 LUFS | -1 dBTP |
| broadcast-atsc | -24 LUFS | -2 dBTP |
Channels, and what each one is worth
BS.1770 weighs a main channel at 1.0, a surround channel at 1.41 and an LFE at 0.0. So the measurement depends on knowing which channel is which, and a channel count does not say: six channels is 5.1 nearly always and something else occasionally.
A WAV can carry a speaker mask, and where it does the page reads it and says so. Where it does not, the page guesses from the channel count and says that. Either way the chooser is there to be overruled — an LFE weighed 1.0 by mistake makes a bass-heavy master read loud and normalise too quiet.
Nothing is uploaded
There is no server to upload to. Audio is never transmitted or stored, and nobody else sees it. There is no account. Nothing has to fit through a request either, so the size limit is a question about the machine, not the tool.
In Chrome and Edge a large WAV is streamed: the page reads a block, applies the gain, and writes it straight to the file you chose, so your disk sets the ceiling. Firefox and Safari cannot hand a page a file handle, so they work in memory instead.
Questions
- Does it limit or compress anything?
- No. Exactly one gain is applied to every sample, and the true-peak ceiling caps that gain rather than reshaping the audio. If a file cannot reach its target without breaching the ceiling, it is left quieter than the target and the page says by how much.
- Why is my loud master turned down at every target?
- Because every delivery target here is quieter than a modern master. A file at −9 LUFS is above all of them, so every gain is negative and the ceiling never binds — a hot peak only matters when the gain is upward.
- What does it do with an LFE channel?
- Weighs it at 0.0, as BS.1770 requires, when it knows there is one. It reads the file’s own WAVE speaker mask where there is one and guesses from the channel count where there is not — and says which of the two it did, because they are not equally trustworthy.
- Is this the same measurement as the engine’s?
- Yes. It is the same meter, mounted from the same source and compiled to WebAssembly rather than reimplemented for the browser.
- What sample rates work?
- Anything from 8 kHz to 192 kHz. The output keeps the source rate; no resampling happens.