Spectrum analyzer
Live spectrum and spectrogram of any source, with the window function in your hands and the real resolution printed on screen.
- Peak
- —
- Note
- —
- Level
- —
- Resolution
- 11.7 Hz per bin
- Under the pointer
- —
The window decides what the FFT shows you. Rectangular leaves the signal alone, so a tone that does not fit a whole number of cycles into the frame smears across every bin. Hann and Blackman taper the edges: the peak comes out wider but clean. Gain is corrected, so switching window changes the width of a peak and not its height.
The decibels are dBFS, not dB SPL: zero is a full-scale digital signal. A browser cannot know what capsule and preamplifier sit behind the microphone, so differences and shapes are trustworthy and absolute levels are simply not available. In frequency, the resolution is the figure above: two tones closer together than that are one bump, and zooming does not fix it. The peak itself is interpolated between bins, which is why the frequency readout is considerably finer than the bin width.
Generated right here, in your browser. What you type never leaves your device.
A spectrum analyser answers one question: what frequencies are in this sound, and how loud is each one. Point it at a room and you can see the hum of the mains at 50 or 60 hertz. Point it at a violin and you can see the string and every harmonic stacked above it. Point it at a squeaking fan and you can read the frequency off the screen and go looking for the thing that resonates there.
Most of the browser ones show you a picture and stop. This one shows the picture and then tells you what it is worth: the resolution in hertz, so you know when two peaks are genuinely two things; the window function, which is the single biggest influence on what an FFT displays and which none of the four pages ranking for this even mentions; and a peak reading interpolated between bins, so the frequency it prints is far finer than the bins it came from.
It runs on your microphone, on an audio file you drop in — decoded here, never uploaded — or on a test tone it generates itself, which is also the honest way to check that it is telling you the truth. Ask it for 440 hertz and see what it says.
How to use it
- 1
Pick a source and press start
The microphone needs permission. A file is decoded in the page and never leaves it. The test tone is the one to begin with: it is a signal whose answer you already know.
- 2
Read the peak, and the note beside it
The frequency is interpolated between bins, so it is much finer than the resolution figure suggests. The note is given with cents, because "A4" alone would round a string thirty cents flat into the note it is failing to be.
- 3
Look at the resolution before you trust two peaks
It is printed live. Two tones closer together than that figure appear as one bump, and no amount of staring changes it. To separate them, raise the FFT size — which is the same as listening for longer.
- 4
Change the window and watch the peak change shape
Switch from **Hann** to **Rectangular** on a steady tone. The peak stops being a clean spike and grows skirts across the whole display. That is spectral leakage, and it is why a window exists.
- 5
Turn on averaging for a quiet, steady signal
Noise moves between frames and a tone does not, so the average pulls the tone out of the hiss without moving where it sits. The frame count is shown so you know how much you are looking at.
- 6
Use peak hold to catch something that happens once
A door slam, a rattle, a click. The held trace keeps the highest each bin has reached until you clear it.
Things worth keeping in mind
What lives where in the spectrum
Rough landmarks, for reading a display rather than for arguing about. Every one of these is a range that overlaps its neighbours.
- 20–60 Hz — the part you feel more than hear. Mains hum, traffic rumble, the bottom of a kick drum.
- 60–250 Hz — the fundamentals of bass instruments and the low end of a male voice. Where a room boosts and cuts most audibly.
- 250 Hz – 2 kHz — most of the fundamentals of speech and music, and most of the energy in a mix.
- 2–4 kHz — where the ear is most sensitive, and where consonants live. Small changes here are heard as a big change in clarity.
- 4–8 kHz — sibilance, cymbals, the edge of a snare. The band people notice when it is wrong.
- 8–20 kHz — air and detail. The top of it goes first with age: most adults over forty hear nothing above 16 kHz.
Choosing the window, in one paragraph each
There is no best window. Each is a different trade between how wide a peak comes out and how much a strong tone bleeds into the bins around it.
- Rectangular — no window at all. Narrowest possible peak, worst leakage by far. Right only when the signal fits the frame exactly, which in practice means synthetic test signals.
- Hann — the sensible default and what this tool starts on. Good leakage rejection, peak about twice the width of rectangular. If you are not sure, this one.
- Hamming — slightly narrower main peak than Hann and a slightly higher noise floor a long way from the peak. Historically popular in speech work.
- Blackman — the widest peak and the best rejection of all. Use it when you are hunting a quiet tone sitting next to a loud one, which is the case where leakage would otherwise bury it completely.
From a French heat equation to a chip in your phone
The idea underneath all of this is **Joseph Fourier**, in 1822, working on how heat spreads through a solid: any reasonable function can be written as a sum of sines and cosines. Mathematicians of the day were unconvinced — Lagrange objected outright — and the claim needed most of a century to be made rigorous. It is now the single most-used idea in engineering.
Computing it was the problem. A transform of n points naively takes n² operations; a thousand-point transform is a million multiplications, which was a day of hand calculation and a serious amount of 1950s computer time. **Cooley and Tukey** published the fast algorithm in 1965 and turned n² into n log n, which is the difference between a million operations and ten thousand. It is routinely called the most important numerical algorithm of the century.
Except they were not first. **Carl Friedrich Gauss** worked out the same decomposition in 1805, two years before Fourier presented his own paper, while interpolating the orbits of the asteroids Pallas and Juno. He wrote it in Latin, never published it, and it appeared in his collected works after his death. Nobody noticed until the 1980s, by which time the algorithm had been named after somebody else for twenty years.
The picture came from Bell Labs. The **sound spectrograph** was developed there during the Second World War and published in 1947 as *Visible Speech*, printing frequency against time on a moving paper drum — the ancestor of the spectrogram in this page. It was built so that deaf people might read speech from a display. That did not work out, but the display became the standard tool of acoustic phonetics, and later the basis of "voiceprint" identification, which courts accepted for decades and forensic science has since largely disowned.
- 1805
- Gauss works out the FFT, and does not publish
- 1822
- Fourier publishes the analytic theory of heat
- 1965
- Cooley and Tukey make it fast
- 1 s
- Audio needed to resolve one hertz, always
What an FFT actually gives you, and what it cannot
The transform takes a chunk of samples — 4096 of them by default — and reports how much of each of 2048 evenly spaced frequencies is present. Those slots are the bins, and their spacing is the sample rate divided by the chunk length. At 48 kHz with 4096 points that is 11.7 Hz. It is the most important number on the page and the one nobody prints.
Resolution is not a display setting; it is a physical bound. To distinguish two tones one hertz apart you need at least a second of audio, because a second is how long it takes for two signals a hertz apart to drift a full cycle out of step with each other. Anything shorter and they are indistinguishable. Making the FFT longer improves the resolution precisely because it means listening for longer — 16384 points at 48 kHz is a third of a second, and buys you 2.9 Hz.
The other half of the picture is the **window**, and it is the part most tools hide. An FFT treats its chunk as one cycle of something that repeats forever. A tone that does not fit a whole number of cycles into that chunk therefore has a step at the join, and a step contains every frequency — so the tone smears across the entire display. Tapering the chunk smoothly to zero at both ends removes the step. The price is that the peak becomes wider: **Rectangular** gives the narrowest peak and the worst leakage, **Blackman** the widest peak and almost none, **Hann** sits in the middle and is what almost everyone uses. Switching here changes the width and not the height, because the level is corrected for what each window throws away.
The peak reading goes one step further than the bins allow. The tallest bin is only ever within half a bin of the true frequency, which at 11.7 Hz wide is a fifth of a semitone. Fitting a parabola through the tallest bin and its two neighbours puts the vertex far closer — under a hertz on a clean tone, tested. That is why the frequency printed has a decimal place and the resolution figure does not contradict it.
What no browser can give you is an absolute level. The decibels here are **dBFS**: zero is a full-scale digital signal, and how much sound pressure produced it depends on a capsule, a preamplifier and any processing the operating system did on the way past. Differences are honest, shapes are honest, and a number in dB SPL would be invented. The same limit is stated on the decibel meter on this site, for the same reason.
Finding a frequency by ear, with nothing but a tone
How it was done before any of this, and still the fastest way to check what a display is telling you.
- 1
Match the pitch as closely as you can. Your voice is now a copy of the frequency you are hunting.
- 2
Slide the frequency until the generated tone and your hum sound like one thing rather than two.
- 3
As the two get close you will hear a slow throb — the beat, at exactly the difference in hertz. A throb once a second means you are one hertz out. This is far more sensitive than judging pitch.
- 4
When it disappears you are within a fraction of a hertz. Now read the number off the tone control and compare it with what the analyser said.
- 5
Set the tone an octave below the sound. It will still sound consonant. This is why a pitch detector that reports half the real frequency is such a common bug, and why looking at the whole spectrum beats trusting one number.
If something is not working
Symptom:The display is empty or crawling along the bottom
- Likely cause:
- Either nothing is reaching the microphone, or the floor is set so low that a quiet room is off the bottom of the scale.
- What to do:
- Snap your fingers and watch for a response. If there is none, check that the right input is selected in the system settings. If there is, raise the floor from -100 dB to -60 dB and the room will fill the display.
Symptom:There is a huge peak at the very left that never moves
- Likely cause:
- Mains hum, at 50 Hz in most of the world or 60 Hz in the Americas, picked up by the cable or the microphone itself. It is real, not a fault in the tool.
- What to do:
- Move away from power supplies and chargers, and try a different USB port. If you only care about what is above it, there is nothing to fix — just read past it.
Symptom:A pure tone shows as a wide smear across many bins
- Likely cause:
- Spectral leakage. The window is set to Rectangular, so a tone that does not fit a whole number of cycles into the frame spreads across the display.
- What to do:
- Switch the window to Hann. If it is already on Hann and the smear remains, the sound genuinely is not a pure tone — a slightly wavering pitch smears in exactly the same way, and averaging will make that obvious.
Symptom:Two notes I can clearly hear apart show as one hump
- Likely cause:
- They are closer together than the resolution, which is printed above the display. Low notes are the usual case: a semitone at the bottom of a piano is under two hertz.
- What to do:
- Raise the FFT size. Going from 4096 to 16384 takes the resolution from 11.7 Hz to 2.9 Hz, at the cost of the display responding more slowly, because it is now listening to four times as much audio for every frame.
Symptom:The peak reading jumps around on a steady sound
- Likely cause:
- Two peaks of nearly equal height are swapping places between frames, which is normal on anything with harmonics as loud as its fundamental.
- What to do:
- Turn on averaging. It settles a steady signal within a second or two, and if the number still jumps, the sound genuinely has two competing peaks — look at the display rather than the readout.
Symptom:The note name says one thing and my tuner says another, an octave apart
- Likely cause:
- The loudest partial is not always the fundamental. On many instruments the second harmonic is stronger than the note itself, and this tool reports the loudest thing rather than guessing which is the "real" note.
- What to do:
- Look at the display: if the peaks are evenly spaced, the fundamental is the spacing, whether or not it is the tallest one. A dedicated tuner guesses; this tool reports.
Things worth knowing
The fast Fourier transform is 160 years older than its name
Gauss described it in 1805 while fitting asteroid orbits, in unpublished Latin notes. Cooley and Tukey rediscovered it in 1965. The historians who spotted the overlap did so in 1984, by which point the misattribution was in every textbook.
The Hann window is named after a meteorologist
Julius von Hann used the same smoothing on weather data. It is frequently written "Hanning", which is a blend of his name with Hamming's and belongs to nobody.
You cannot have fine frequency and fine timing at once
Resolving a hertz needs a second of audio, and a second of audio cannot tell you which tenth of that second the sound happened in. It is the same trade as the uncertainty principle, and Dennis Gabor wrote it down for signals in 1946, eleven years before he invented holography.
Mains hum tells you which continent a recording was made on
A steady line at 50 Hz means most of the world; 60 Hz means the Americas and parts of Japan. Forensic labs go further and match the tiny wobble in that frequency against a national grid log to date a recording to the hour.
A spectrogram was invented so deaf people could read speech
Bell Labs built it during the war for exactly that, and published it as *Visible Speech* in 1947. Reading it fluently turned out to be too hard, but every phonetics lab and every audio editor since has used the display.
Frequently asked questions
Is this spectrum analyzer free, and does my audio leave my device?
It is free with no account, and nothing leaves your device. The microphone stream and any file you open are processed in your browser; the file is decoded in the page and never uploaded.
What is the resolution figure and why does it matter?
It is how many hertz apart the analysis points are — the sample rate divided by the FFT size. Two tones closer together than that show up as one peak. It is the honest limit of the display and it is why the page prints it rather than leaving you to guess.
How do I get better frequency resolution?
Raise the FFT size. It works because a longer transform means listening to more audio, and there is a hard physical relationship there: distinguishing two tones one hertz apart takes a full second of sound no matter what software you use.
What does the window setting do?
It decides how the frame of audio is tapered before the transform. Without one, a tone that does not fit exactly into the frame smears across the whole display, which is called spectral leakage. Hann is the sensible default; rectangular shows you the problem; Blackman is for pulling a quiet tone out from beside a loud one.
Are the decibels real decibels?
They are dBFS, where zero is a full-scale digital signal. They are not dB SPL and cannot be: a browser has no idea what microphone capsule and preamplifier are in front of it. Differences and shapes are trustworthy; absolute loudness is not something any web page can give you honestly.
Why is the frequency more precise than the resolution?
Because the peak is interpolated. A parabola fitted through the tallest bin and its two neighbours puts the true peak between them, which on a clean tone lands under a hertz out even when the bins are twelve hertz wide. The resolution still governs whether two peaks can be separated at all — interpolation sharpens one peak, it does not split two.
Can I analyse an MP3 or a WAV file?
Yes. Choose the file source and pick anything your browser can decode, which is normally MP3, WAV, OGG, FLAC and M4A. It loops while it plays so you can watch a short passage repeatedly.
What is the spectrogram underneath for?
It is the same data with time on the horizontal axis, scrolling right to left, so you can see how the sound changes rather than only what it is right now. Speech, birdsong and a machine winding up all become obvious there and are invisible in a single frame.
Why does my voice show peaks at regular intervals?
Those are harmonics. A voice or a string vibrates at a fundamental and at whole-number multiples of it simultaneously, and the even spacing on a linear view is the giveaway. On the logarithmic axis here they get closer together as they rise, which is the same thing seen the way ears hear it.
Related tools
Bitrate calculator
Adds both tracks before it quotes a size, runs the sum backwards from a target, and measures a real file without uploading it anywhere.
Microphone test
Watch the waveform and level as you speak, then record five seconds to hear yourself the way everyone else does.
Decibel meter
Live level, average, peak and how long it is safe to stay. With an honest warning about accuracy.
Audio test
Five checks in order — left, right, stereo, microphone and latency — and a verdict that says what is broken, not just what you heard.
Updated