Audio spectrogram viewer
See how the frequencies in a recording change over time and download a labelled spectrogram image of the whole file or a selected range.
Accepted files: .wav,.mp3,.m4a,.aac,.flac,.ogg,.oga,.opus,.webm,audio/*. Choose one file. Up to 256 MiB in total.
One file up to 256 MiB, 10 minutes, 8 channels and 60 million samples, at 8,000 to 192,000 Hz. FFT size 256 to 8,192 samples, image 64 to 4,096 pixels wide and 64 to 2,048 pixels high, and width times FFT size at most 32 million. Levels from -200 to 20 dB, with the lowest below the highest. WAV is read directly with every channel and sample intact. MP3, M4A, AAC, FLAC, OGG, Opus and WebM are decoded by your browser and resampled to 48 kHz first, so decoding support depends on the browser. Files are decoded and measured on your device and are never uploaded. Downloads: JSON report of the settings and a PNG image with time and frequency axes and a colour bar. Pick the time range and image size in the settings below. Up to 1,000,000 characters. Review the settings before running.
Your result
How to use Audio spectrogram viewer
- Choose one audio file from your device.
- Set the start and end time if you only want part of the recording.
- Pick the FFT size, window, frequency scale, level range and image size.
- Create the spectrogram and download the PNG and the JSON report of the settings.
Useful next steps
How the image is made
The selected range is split into one analysis frame per pixel column. Each frame is windowed (Hann by default) and passed through a fast Fourier transform, and the magnitude in each frequency row is drawn in the viridis colour map from your lowest to your highest level. A full-scale sine wave reads 0 dB. Channels are averaged into one signal first.
Choosing the settings
A larger FFT size separates close frequencies better but blurs fast changes in time; a smaller one does the opposite. The JSON report states the frequency resolution (sample rate divided by FFT size) and the time step between columns. The log scale spreads low frequencies out, from 20 Hz up to half the sample rate; the linear scale runs from 0 Hz.
Limits of the result
The image shows level, not loudness as people hear it. Frequencies above half the sample rate cannot appear, and a file the browser decoded and resampled can show small differences from its original.