Lossless Audio Checker
Check FLAC, WAV or AIFF files for lossy-codec fingerprints. Runs on your device — files never uploaded.
Drop audio files here or click to browse
FLAC, WAV, AIFF, MP3, M4A · processed on your device
What this tool cannot see
- An encode that kept the full band leaves no trace in the spectrum: MP3 at V0, AAC at 256 kbps from Apple's or FFmpeg's encoder, AAC at 320 kbps from FFmpeg's, high-quality Ogg Vorbis and HE-AAC at 64 kbps from Apple's encoder in a 48 kHz file read as no transcode found or get no verdict.
- Processing after the decode can hide a codec wall: noise-shaped dither fills the silence above it at any level, full scale included, and even a 128 kbps MP3 then reads as no transcode found.
- A lossless master with a steep low-pass below about 21 kHz (an older digital master, a mastering high-cut, an EQ'd stem), or a lossless recording made at 22.05 or 32 kHz and converted up to 44.1 or 48 kHz, makes the same wall as a codec, so a wall is an indication of a lossy source, not proof. Such a master usually reads Transcoded; otherwise it gets no verdict. The tool also gives no verdict for a gentle edge over digital silence, lossy cues with no wall, a wall with too little other evidence, very quiet material, or too little content.
- Very quiet material: when most of a file sits far below full scale, its faintest high frequencies drop below what the analysis can see, and the edge it finds moves with the level. Such a file is never called transcoded or upsampled: it gets no verdict, and only a file whose content still reaches 21 kHz or runs close to its frequency ceiling can still read as no transcode found. Quiet recordings can get no verdict this way at their own level. A moderately quiet file is still judged, but the cutoff shown can sit below the real top end of the music for the same reason.
- The verdict covers the whole file: a short lossy section inside a longer lossless one, such as one track of a DJ mix or a compilation, can be missed.
- Generation loss without a wall — a re-encode of a re-encode — cannot be told from the first copy.
- Noise, distortion and mastering quality are not graded; a noisy file can be perfectly lossless.
How to Check for Lossless Audio
- 1 Upload a FLAC, WAV, AIFF, MP3, or M4A file
- 2 Read the spectrogram — a sharp horizontal cutoff with nothing above it is the usual mark of a lossy encode
- 3 Use the overlay buttons to highlight evidence: the cutoff line and spectral holes
- 4 Check the verdict and use the forensic guide below the result to understand what was detected
How to Read Your Spectrogram
A spectrogram shows every frequency in your audio over time. The horizontal axis is time (left to right), the vertical axis is frequency (low at the bottom, high at the top), and brightness indicates energy. Here's what to look for.
What does a file with no codec signature look like?
A file with no codec signature usually shows colour and texture all the way up to the Nyquist frequency (22.05 kHz for 44.1 kHz files). Energy fades toward the top — most music has less high-frequency content — but there is no abrupt cutoff: a gradual, uneven fade with noise texture above the music. Older and band-limited recordings fade earlier, in the same gradual way.
What to check: Toggle the Cutoff overlay — it should sit at or near the Nyquist limit. The Holes overlay shows few dots on dense music; sparse music shows more whether or not it was encoded.
What does a transcoded file look like?
A file converted from MP3/AAC to FLAC/WAV shows a sharp horizontal line where all content abruptly disappears. Above the line: solid black. Below it: normal audio. This "shelf" is the signature of lossy compression — the encoder permanently discarded frequencies above that point. A lossless master with a steep low-pass shows the same shelf, so check where it sits against the reference table.
What to check: Toggle Cutoff — the red dashed line sits where the content stops. Toggle Holes — orange dots mark silent bins between loud ones; next to a wall they support the reading, on their own they prove nothing.
What do the overlay layers show?
| Overlay | Color | What It Shows | Good Sign | Bad Sign |
|---|---|---|---|---|
| Cutoff | Red line | Detected frequency ceiling | 21 kHz and above, or near Nyquist | Sharp shelf between 16 and 21 kHz |
| Holes | Orange dots | Silent bins next to loud neighbors | Few or no dots | Dense clusters next to a wall |
How to use the zoom controls
The forensic workstation lets you inspect specific frequency ranges in detail:
- Frequency slider — hover on the left edge of the spectrogram to reveal two vertical sliders. Drag them to zoom into a frequency band (e.g. 15-22 kHz to inspect the cutoff region).
- Ctrl+Scroll — zoom the frequency axis centered on your cursor position. Great for quick inspection without leaving the spectrogram.
- Drag to select — click and drag a rectangle to zoom into a specific time + frequency region. Useful for inspecting the edge where the content stops.
- Double-click or press the Reset button to return to the full view.
Frequency cutoff reference table
LAME, the most common MP3 encoder, low-passes at a frequency set by the bitrate. A wall at one of these positions, with digital silence above it, is a codec fingerprint. Other codecs put their walls elsewhere.
| Cutoff | Likely Source | What It Means |
|---|---|---|
| < 16.5 kHz | 128 kbps MP3 | A wall here usually means a low-bitrate encode |
| 16.5 – 19 kHz | 192 kbps MP3 | A wall here usually means a mid-bitrate encode |
| 19 to 21 kHz | MP3 at 256–320 kbps, Opus at any bitrate | A wall here points to a lossy source but may get no verdict. An older master with a 20 kHz low-pass looks the same |
| 21 kHz and above | No codec wall | Never read as Transcoded — this includes encodes that kept the full band (MP3 at V0, AAC at 256 kbps from Apple's or FFmpeg's encoder) |
What about fake Hi-Res and upscaled files?
"Fake Hi-Res" files claim 24-bit/96kHz but actually contain 16-bit audio padded with zeros. The tool detects this two ways: by checking if the raw sample bytes have zero-padded lower bits (WAV/AIFF), and by checking if decoded float samples snap to a 16-bit quantization grid (works for FLAC/ALAC too). If detected, the verdict shows Upscaled with the effective bit depth. A 16-bit source that was gain-changed, dithered or resampled at 24-bit is not detectable. The batch table runs the same check.
Upsampled is different — the file claims a high sample rate (e.g. 96 kHz) but all spectral content stops well below the Nyquist limit, suggesting it was upsampled from a lower-resolution source. It is found when the upsampler left a clean wall at the old limit; a cheap upsampler that leaves images above it is not.
What do the Evidence percentage and the coverage lines mean?
A Transcoded result shows a score margin: how far the codec evidence (where the wall sits, how steep it is, the silence above it, intensity stereo) outweighs the signs of a recording, capped at the top of the scale. It is not the chance that the file was encoded. A result with no signature shows which checks ran and which could not, instead of a number: a percentage there would suggest a certainty the spectrum cannot give. Use the overlays as context either way — a flat horizontal shelf points to a codec; a fuzzy, uneven fade points to a recording.
What the Checker Finds — and What It Cannot
Measured on real music: each source was encoded, decoded to a 16-bit FLAC and run through this tool. The table shows what usually happens, not a guarantee for one file.
| Result | Typical sources |
|---|---|
| Usually found | MP3 at 128–320 kbps constant bitrate, Opus at 128–160 kbps, AAC at 128 and 256 kbps from the Fraunhofer FDK encoder |
| Sometimes found, often no verdict | MP3 at V2, AAC at 128 kbps from Apple's encoder, HE-AAC at 64 kbps from Apple's encoder in a 44.1 kHz file |
| Rarely found; about one file in three reads No transcode found | Ogg Vorbis at about 160 kbps |
| Not visible | MP3 at V0, AAC at 256 kbps from Apple's or FFmpeg's encoder, AAC at 320 kbps from FFmpeg's encoder, HE-AAC at 64 kbps from Apple's encoder in a 48 kHz file, Ogg Vorbis at about 320 kbps, and MP3 saved again with noise-shaped dither |
| Reads Transcoded although lossless | A master with a steep low-pass below about 21 kHz, or a recording made at 22.05 or 32 kHz and converted up to 44.1 or 48 kHz |