Skip to content

FLAC Checker & Fake Hi-Res Detector

Is your "192 kHz hi-res" file an upsampled 44.1 kHz recording? Drop any file and this tool reads where the energy stops (the spectrum) instead of what the file header claims. A file made from a 44.1 or 48 kHz source usually stops in a sharp cutoff at that source's Nyquist limit (half its sample rate, the highest frequency it can hold), with nothing above it. Energy past 22 kHz shows the file holds ultrasonic content. The spectrum is evidence about how a file was made, and the result says how strong it is.

Try it: drop in any track you own - a FLAC, WAV, ALAC, MP3 or AAC - or click a demo below to see a true 96 kHz file next to an upsampled one.

My analyses

Every checked file lands here automatically. Stays on this device only.

Verdict
Awaiting file Drop an audio file below to check it.
Content reaches - The highest 1 kHz band where most of the spectrum clears the -90 dBFS floor, so a lone spike does not count.
File format - Sample rate x channels x duration.
No file handy? Try a demo:

All analysis is local. Files never leave your device.

How to read the spectrum

What to look for

A native hi-res recording (96 kHz or 192 kHz) often shows energy above 22 kHz, falling gradually with frequency the way microphones and instruments roll off. The thing to look for is the shape of the top: a slope, or a wall.

An upsampled file shows a sharp, near-vertical drop just under 22.05 or 24 kHz, the anti-aliasing filter of the 44.1 or 48 kHz source it came from, with nothing above it. The tool calls a cutoff sharp when the level falls 25 dB or more within 1 kHz, which no acoustic roll-off does.

What it cannot prove

Even if a file has genuine hi-res content above 22 kHz, that doesn't automatically mean it sounds better than a well-mastered 16/44.1 file. The source master quality matters more than the format.

A spectrum cannot prove how a file was made. A native 96 kHz recording whose microphones or mastering stop short of 22 kHz has no ultrasonic content either, and a steep digital filter in mastering leaves the same wall an upsample does. Processing applied after an upsample can also put new energy above 22 kHz. So the result names the evidence (ultrasonic content found, no ultrasonic content, lower-rate source likely) and never calls a file genuine or fake.

Audio formats and what their spectrograms should look like

Sample rate is the upper bound; Nyquist (rate ÷ 2) is the highest frequency a format can encode. A native 192 kHz recording can carry energy above 22 kHz; an upsample stops sharply at its source's Nyquist limit.

FormatSample rateNyquistSpectrogram tells
MP3 320 kbps44.1 kHz22.05 kHzHard cutoff around 16-19 kHz from the codec lowpass.
AAC 256 kbps44.1 kHz22.05 kHzCutoff near 19-20 kHz; cleaner than MP3.
CD (Red Book)44.1 kHz22.05 kHzBrick wall at 22 kHz. Nothing above.
DVD-Audio / pro standard48 kHz24 kHzBrick wall just below 24 kHz.
"Hi-Res" 24/88.288.2 kHz44.1 kHzNative: often a tapered roll-off past 22 kHz.
"Hi-Res" 24/9696 kHz48 kHzNative: often energy past 22 kHz.
"Hi-Res" 24/192192 kHz96 kHzNative: can reach 40 kHz+. An upsample shows the 22 kHz wall.
DSD64 (SACD)2.8 MHz (1-bit)~28 kHz audioRising noise floor above 25 kHz - DSD signature.
DSD128 / 2565.6 / 11.3 MHz~50 / ~100 kHzCleaner band. Same rising noise above the audible limit.

How to tell real hi-res from an upsampled file

A digital recording cannot contain any frequency above half its sample rate - the Nyquist limit. A genuine 96 kHz file can therefore hold content up to 48 kHz, and a 44.1 kHz file stops hard at 22.05 kHz. That ceiling is a property of the format, not of the music.

Converting a 44.1 kHz file to 96 kHz changes the container without adding anything. The Nyquist limit moves up, but the content does not: the spectrum still stops dead at 22.05 kHz, leaving a sharp horizontal edge with empty space above it. That edge is the signature of upsampling.

A real high-rate recording looks different. Energy tapers off gradually into the ultrasonic rather than stopping at a wall, because microphones and instruments have no reason to end at exactly the old limit. Reading the spectrum for that difference is strong evidence about a file sold as hi-res, short of proof: a native recording whose microphones or mastering stop below 22 kHz shows no ultrasonic content either.

Hi-res audio checker reading of its demo file, with the highest frequency content found and the file format

Worked example

The tool's own bundled demo file, a genuine 96 kHz mono recording, dropped straight in.

Ultrasonic content found, content reaching 48.0 kHz, container 96 kHz.

The reading follows the content and never the container. The second demo file declares the same 96 kHz in its header and stops in a sharp cutoff near 20 kHz, which the tool reads as a likely lower-rate source.

The ideas behind the controls

Nyquist frequency
Half the sample rate, and the hard ceiling on what a file can contain. 22.05 kHz for CD, 48 kHz for 96 kHz audio.
Brick wall
A sharp horizontal cut-off in the spectrogram with nothing above it. Characteristic of upsampled material, and of a steep digital filter applied in mastering.
Lossy artefacts
The cut-off a codec leaves, often around 16 to 20 kHz, plus gaps where quiet bands were discarded. Visible even after conversion to a lossless container.
Spectrogram
Frequency against time, with brightness for level. It shows the shape of the top octave, which is where all of these clues live.

Explained in depth DACDSDMQASample RateStreamer

FLAC and fake hi-res FAQ.

What fake hi-res is, how the FFT spectrum shows it, whether a FLAC can be a transcoded MP3, and whether anyone can hear the difference.

  1. What is a fake hi-res audio file?

    A file that claims a high sample rate (96 kHz, 192 kHz) or bit depth (24-bit) but actually contains content from a lower-resolution source, typically upsampled from a 44.1 kHz CD master or, worse, a lossy MP3. The container says hi-res; the audio is not. This is widespread in some streaming catalogues.

  2. How does the FLAC & hi-res checker work?

    It runs an FFT (fast Fourier transform) on your file and plots the frequency content. A 96 kHz file can hold energy up to 48 kHz and a 192 kHz file up to 96 kHz, and a native recording often shows some of it. A file made from a 44.1 kHz source shows a sharp cutoff just under 22.05 kHz with nothing above it, whatever the container claims. The result names what the spectrum shows and how sharp the cutoff is, because a native recording filtered at 20 kHz in mastering can look like an upsample.

  3. Can I hear the difference between real and fake hi-res?

    Almost never directly. Human hearing tops out at 20 kHz and falls fast above 16 kHz with age. The case for hi-res is mostly about the master, not the format: real hi-res releases often come from better masters with more dynamic range. The spectrum shows whether the file holds the high-rate content you paid for.

  4. Is my FLAC actually lossless, or transcoded from an MP3?

    The same spectrum test answers that one. A lossy encoder discards the top of the band and lowpasses what is left, so an MP3 at 320 kbps stops dead around 16 to 19 kHz and AAC around 19 to 20 kHz. Re-encode that into FLAC and everything from then on is lossless, but the missing top never comes back and the brick wall sits exactly where the encoder left it. A FLAC ripped from a CD runs on to the 22 kHz Red Book wall instead. Drop the file in and read where the energy stops.

  5. Which file formats can this checker read?

    Anything your browser can decode: FLAC, WAV, AIFF, ALAC, MP3, AAC and OGG. The analysis runs on the decoded audio rather than the container, which is the whole point - the file extension, the sample rate in the header and the metadata are precisely the things a fake gets right.

  6. Does the file get uploaded to your server?

    No. The FFT analysis happens entirely in your browser using the Web Audio API. The file is decoded into an AudioBuffer locally, analyzed, and discarded when you close the page. We never see your audio files.

  7. Does the checker work on a phone?

    Yes, in the phone's browser, with nothing to install: Chrome on Android or Safari on an iPhone. Tap the File A box and pick the track from your downloads or the Files app. The decode and the spectrum run on the phone itself, as they do on a computer, and the file stays on it. A long 192 kHz track takes a few seconds longer, because the whole file is decoded into memory before the spectrum is drawn.