A privacy-first web app that measures the loudness (LUFS), True Peak and dynamic range of your audio files. Drop in a file — or a whole batch — and get a full EBU R128 report with a loudness graph you can copy, or save as PNG or PDF. Everything runs locally in your browser: no upload, no account, no tracking.
🌐 Try it live → macusercom.github.io/lufsly
- Drag & drop audio files anywhere on the page, or click to pick them — several at once
- Integrated, Short-Term and Momentary loudness in LUFS
- True Peak in dBTP with 4× oversampling, so inter-sample peaks are caught
- Dynamic range as LRA (EBU Tech 3342), plus PLR (Peak-to-Loudness Ratio)
- Traffic-light verdicts — too quiet / just right / too loud, how much dynamics, and whether it clipped
- Three charts per report on a shared time axis: Short-term loudness with your target drawn in, True Peak with a marker at every overshoot and the times listed, and dynamic range (rolling LRA)
- Hovering any chart reads all three at that instant, with a synced crosshair
- Codec and bitrate read from the file itself, plus a collapsible panel with its title, artist, date and encoder
- Export any report as PNG or PDF, or copy it as text
- Loudness targets: Podcast (−16 LUFS), Streaming (−14 LUFS), Broadcast EBU R128 (−23 LUFS), None, or your own value
- Your own dynamic range target, tolerance and True Peak limit
- Targets are stored locally in your browser and survive a reload — no cookies, nothing sent anywhere
- Changing a target re-scores every analyzed file instantly, with no re-analysis
- Compare a batch at a glance: every file listed with its key values, colour-coded against your targets
- Info icons (ⓘ) next to every value explaining what it means
- German and English UI, follows your browser language
- Files are decoded at their own sample rate, so nothing is resampled before it is measured
- No audio or data ever leaves your machine
Measurement follows ITU-R BS.1770-4 / EBU R128 (K-weighting, two-stage gating) using the same DSP core as the LUFSly Chrome extension, so results match between the two.
LUFSly for Chrome is the companion extension: live LUFS, True Peak and dynamic range metering of browser tab audio, plus the same drag & drop file analysis and PNG/PDF reports. It runs the same DSP core as this web app, so both report identical numbers for identical audio.
- Open macusercom.github.io/lufsly in your browser
- Drop one or more audio files onto the page, or click the box to choose them
- Pick your target — Podcast, Streaming, Broadcast, or a custom value
- Read the verdicts, then click any file in the list to open its full report
- Copy the report, or save it as PNG or PDF
No install required. Works on mobile and desktop. Supported formats are whatever your browser can decode — WAV, MP3, FLAC, M4A and OGG in current Chrome, Edge, Firefox and Safari.
The app uses ES modules, so opening index.html directly as file:// will not work — it needs a local server.
git clone https://github.com/Macusercom/lufsly.git
cd lufsly
python3 -m http.server
Then open http://localhost:8000 in your browser.
- Vanilla HTML, CSS, JavaScript — no framework, no build step, no dependencies
- Decoding via the Web Audio API, metering in a pure-JS BS.1770-4 implementation (
dsp/loudness-core.js) - Reports, charts and the PNG/PDF export are drawn on a
<canvas>; the PDF is written by hand, so nothing is loaded from a CDN - Settings are kept in
localStorage
![]() Start — drop files and set your targets |
![]() Analysis — metrics, metadata and the three charts |
![]() Export — the report as PNG or PDF |


