Ultrasonic Spectrum Analyzer

A focused real-time FFT for the top of the audio band — from 15 kHz up to your microphone’s Nyquist limit. It auto-detects the strongest peaks, labels each in Hz, matches them against a reference guide of common high-frequency sources (coil whine, CRT scan, pest deterrents, near-ultrasonic beacons), smooths the trace with spectral averaging, and lets you snapshot or export the data.

Your microphone sets a hard ceiling. A browser AudioContext usually samples at 44,100 or 48,000 Hz, so the Nyquist limit — the highest frequency that can exist in the data — is only about 22,050 or 24,000 Hz. Nothing above that can ever be captured. Most built-in mics additionally roll off steeply above ~16–18 kHz, so genuine ultrasound (above ~22 kHz, e.g. most bat calls and many cleaning baths) is effectively unreachable with normal consumer hardware — that needs a dedicated USB ultrasonic mic. The vertical axis is relative dBFS, not calibrated SPL. The tool reads and shows your actual sample rate and Nyquist limit so you always know where the wall is. Auto-gain, noise suppression and echo cancellation are requested off. Nothing is recorded or uploaded.

Ultrasonic Spectrum Analyzer Tool

Idle — press Start to allow your microphone and see the live 15 kHz–Nyquist spectrum.

−80 dBFS — peaks below this are ignored

Horizontal axis = frequency from 15 kHz to your mic’s Nyquist limit (amber dashed line). Vertical axis = relative level (dBFS, uncalibrated) — not calibrated SPL. Amber dots = detected peaks; faint cyan = peak-hold envelope.

Detected peaks (15 kHz–Nyquist)

The strongest local maxima above the peak floor, with the closest matching reference source. A match is a frequency coincidence with a published-typical signature, not a confirmed identification — many emitters overlap.

#FrequencyRel. levelLikely source
Start the analyzer to detect peaks above 15 kHz.

Capture details

Your hardware decides what is even possible. The Nyquist limit is half the sample rate — the absolute highest frequency the data can contain. A larger FFT narrows each bin so close peaks separate.

Sample rate
Nyquist limit (max possible)
Frequency resolution
Strongest peak above 15 kHz

Export is a local download only: Snapshot saves the chart as a PNG; CSV saves frequency vs relative dBFS for every bin in the 15 kHz–Nyquist window, with a header noting it is uncalibrated. Nothing leaves your device.

High-frequency source reference

Published-typical frequency signatures to match against your detected peaks. These are conventions and reference figures, not a diagnosis — use them as a starting point. Sources and verification are listed in the technical section below.

Common emitters in and around the 15–24 kHz band.
Typical frequencySourceNotes
15,625 / 15,734 HzCRT / older display horizontal scanPAL line rate 15,625 Hz; NTSC 15,734 Hz. A steady, narrow whine from a CRT TV, retro monitor or arcade cabinet.
~16–20 kHzElectronic / coil whine (SMPS, GPU, LED driver)Magnetostriction & electromagnetic force in inductors/transformers. Switching is usually >20 kHz but burst / cycle-skip modes drop a component into this band.
~17.4 kHz“Mosquito” / youth-deterrent toneA near-ultrasonic tone many adults over ~25 cannot hear, by design; younger ears often can.
~18–24 kHzUltrasonic pest / animal deterrentConsumer rodent/insect repellers commonly emit 18–30 kHz (often around a 20–22 kHz fundamental). The portion below your Nyquist limit is what you can see here.
~15–19 kHzNear-ultrasonic data beacon / leak hissSome tracking/advertising beacons sit at 18–19 kHz; pressurised-gas or air leaks radiate broadband hiss with strong high-frequency content.
> ~22–24 kHzTrue ultrasound (bats, cleaning baths, range-finders)Beyond a normal mic’s Nyquist limit — not capturable here. Needs a dedicated USB ultrasonic microphone.

How to Use

  1. Start & grant the mic. Press Start and allow microphone access. The Capture details panel immediately shows your real sample rate and Nyquist limit — the wall above which nothing can be detected.
  2. Watch the spectrum. The chart spans 15 kHz to your Nyquist limit. Strong, narrow vertical lines are tonal sources (coil whine, scan whine, a deterrent tone); broad raised humps are hiss or noise.
  3. Read the peaks table. Each detected peak is listed with its frequency, relative level and the closest reference source. Treat the source label as a frequency coincidence to investigate, not proof.
  4. Stabilise & isolate. Raise Averaging to settle a jittery trace, enable Peak-hold to catch intermittent tones, and adjust Sensitivity so the peak floor sits just above the noise. A larger FFT size separates close peaks.
  5. Capture. Freeze holds the current trace; Snapshot saves a PNG of the chart; CSV downloads frequency vs relative dBFS for the whole window. Everything stays on your device.

Understanding Your Results

The Nyquist wall is the headline number

Before anything else, look at the Nyquist limit in the Capture details. By the Nyquist–Shannon theorem a digital system can only represent frequencies below half its sample rate. At 44,100 Hz that ceiling is 22,050 Hz; at 48,000 Hz it is 24,000 Hz. The chart draws an amber dashed line at this point — the spectrum simply stops there. If you are hunting a source above your Nyquist limit, no software setting can recover it; you need different hardware.

Peaks vs the noise floor

A genuine tonal source shows up as a tall, narrow spike that stays put. Random hiss raises a broad region without a sharp tip. The Sensitivity (peak floor) control sets how far above the noise a spike must rise before it is reported — lower it to catch faint tones, raise it to suppress clutter. Averaging blends successive frames so a steady tone reinforces while noise averages down, and Peak-hold keeps the highest level each bin has reached so a brief chirp leaves a visible trace.

Frequencies are trustworthy; levels are relative

The frequency of each peak comes straight from the FFT and is reliable to within the bin width shown as the frequency resolution. The level is relative dBFS from an uncalibrated microphone with an unknown high-frequency response — it is not calibrated SPL, so use it for comparison (this peak vs that one, before vs after) rather than as an absolute loudness. Because most consumer mics roll off above ~16–18 kHz, a real source near the top of the band will read lower than it truly is.

Source matches are coincidences, not diagnoses

The reference guide matches a peak’s frequency to a published-typical signature. Many sources overlap — coil whine, a deterrent tone and a beacon can all sit near 19 kHz — so a match tells you what is plausible, not what is present. Confirm by changing the environment: unplug a suspected charger, turn off a display, or move the mic and watch whether the peak follows.

How It Works

The analyzer streams audio from your microphone into a Web Audio AnalyserNode and runs a Fast Fourier Transform (FFT) on each short window, splitting the signal into thousands of frequency bins. It then crops the display to the bins between 15 kHz and your sample rate’s Nyquist limit, so the whole chart is devoted to the top of the band where these high-frequency sources live. Every frame it scans for local maxima that stand clearly above their neighbours and above the peak floor, ranks them by level, removes near-duplicates, and lists the strongest with a closest-match source label.

Spectral averaging blends each new frame into a running exponential average so persistent tones reinforce while random noise settles. Peak-hold keeps the maximum level each bin has reached, which is ideal for catching intermittent or sweeping ultrasonic emitters. The microphone source is connected only to the analyser — never to the speakers — so there is no feedback path and no playback.

Verified reference figures

The source guide uses real published values, not invented precision:

  • CRT horizontal scan: 15,734 Hz (NTSC) and 15,625 Hz (PAL). These follow directly from the line and frame structure (NTSC: 525 lines × ~29.97 Hz; PAL: 625 lines × 25 Hz) and are documented on Wikipedia’s Horizontal scan rate article.
  • Ultrasonic pest deterrents: commonly 18–30 kHz, frequently built around a ~20–22 kHz fundamental (for example US Patent 4,562,561, “Ultrasonic pest repeller”, uses a 22 kHz carrier). Independent reviews (This Old House, Terminix) note the band is above human hearing but well within rodent hearing — and that real-world effectiveness is limited.
  • SMPS / coil whine: 20 Hz–20 kHz audible band, caused by magnetostriction and electromagnetic forces in inductors and transformers. As DigiKey and Power Electronics News explain, the switching frequency is usually chosen above 20 kHz, but load-dependent frequency shifting, cycle-skipping and burst modes can push a component down into the audible/near-ultrasonic range.
  • “Mosquito” tone: ~17.4 kHz, a near-ultrasonic tone exploiting age-related high-frequency hearing loss (presbycusis) so that many adults over ~25 cannot hear it.

Why true ultrasound is out of reach here

“Ultrasound” means above ~20 kHz, and much of the interesting ultrasonic world — most bat echolocation (often 20–120 kHz), 40 kHz cleaning baths and range-finders — sits above the 22–24 kHz Nyquist ceiling of a standard 44.1/48 kHz audio path. Even a 96 kHz interface, which would raise the ceiling to 48 kHz, needs a microphone whose element actually responds up there; ordinary built-in and headset mics roll off hard above 16–18 kHz. For genuine ultrasound you need a dedicated USB ultrasonic microphone (e.g. a bat detector). This tool is honest about that wall: it reads your live sample rate, shows the Nyquist limit, and draws it on the chart.

Frequently Asked Questions

Can this detect real ultrasound, like bats or a 40 kHz cleaner?
Almost never with a normal mic. A browser AudioContext samples at 44,100 or 48,000 Hz, so the Nyquist limit — the highest frequency the data can contain — is only about 22,050 or 24,000 Hz. Most bat calls (20–120 kHz) and 40 kHz cleaning baths or range-finders sit above that wall and simply cannot be captured, no matter the settings. Built-in mics also roll off hard above 16–18 kHz. For genuine ultrasound you need a dedicated USB ultrasonic microphone. The tool reads and shows your real sample rate and Nyquist limit so you always know the ceiling.
Why does the spectrum stop at the amber dashed line?
That amber line marks your microphone's Nyquist limit (half the sample rate). By the Nyquist–Shannon theorem nothing above it can exist in the digital signal, so the chart ends there. At a 44.1 kHz sample rate the line sits at 22.05 kHz; at 48 kHz it sits at 24 kHz. If the source you are chasing is above the line, no software can recover it — you need hardware with a higher sample rate and a mic element that responds that high.
How is this different from the Ultrasonic Leak Detector?
The leak detector is tuned to flag broadband ultrasonic hiss from a pressurised leak. This analyzer is a general-purpose instrument for the whole 15 kHz–Nyquist band: it shows the full spectrum, automatically detects and ranks multiple peaks, identifies a range of sources (coil whine, CRT scan, deterrent tones, beacons), and adds spectral averaging, peak-hold, snapshot and CSV export. Use this to survey and characterise high-frequency sources; use the leak detector when you specifically want a go/no-go leak readout.
Is the dB level a real loudness measurement?
No. It is relative dBFS (decibels below digital full scale) from an uncalibrated microphone with an unknown high-frequency response — not calibrated SPL in dB. Treat it as a relative scale for comparison: this peak versus that one, or the same source before versus after a change. Because consumer mics attenuate above ~16–18 kHz, a real tone near the top of the band reads lower than it truly is.
How reliable is the source identification?
The label is a frequency coincidence with a published-typical signature, not a confirmed identification. Many sources overlap in this band — coil whine, a deterrent tone and a data beacon can all land near 19 kHz. Use the label as a lead, then confirm by changing the environment: unplug a suspect charger, switch off a display, or move the mic and see whether the peak follows. The reference figures themselves (15,734/15,625 Hz CRT scan, 18–30 kHz deterrents, ~17.4 kHz mosquito tone) are real published values cited in the technical section.
Why must auto-gain and noise suppression be off?
The tool requests the raw microphone signal with automatic gain control, noise suppression and echo cancellation switched off, because those features reshape the spectrum — pumping levels and carving out frequencies — which would corrupt the readings, especially the faint high-frequency tones this tool targets. We request them off, but a browser or OS may still apply processing it does not expose, so if the spectrum looks artificially clean or cuts off oddly, disable microphone enhancements in your system settings.
Is my audio recorded or uploaded?
No. The microphone signal is analysed in real time entirely in your browser to compute the spectrum, then discarded — nothing is recorded, saved, or transmitted. The microphone connects only to the analyser, never to your speakers, so there is no playback or feedback. The Snapshot and CSV exports are local downloads you trigger yourself, and the microphone is released the moment you press Stop or close the tab.