Free · no sign-up · no upload
Song BPM & Key Calculator
Drop in an audio file and get its tempo and musical key in seconds — decoded and analysed entirely inside your browser.
Analyse a track
Audio stays on this device. Up to 20 MB · 2 seconds to 6 minutes.
Drop an audio file here
MP3, WAV, M4A, OGG or FLAC (whatever your browser can decode)
How it works
Drop an MP3, WAV, M4A or OGG. Nothing is uploaded — the browser decodes it in memory.
Spectral-flux onsets are scanned on a fine BPM grid, so the tempo is found to a tenth of a BPM instead of snapping to integers.
A 12-bin chroma vector is matched against major and minor key profiles, then labelled with its Camelot wheel code.
Built for mixing in
Get the harmonic-mixing code (e.g. 8A) next to the key name, plus the relative major or minor for easy transposition.
Drum & bass reads as 87 or 174 — flip the label with one tap instead of re-analysing.
The 12-segment ring and beat grid let you sanity-check the result before you trust it.
When a track fools the detector, tap four times and your number wins.
Show F# minor or Gb minor — the detected pitch class stays the same.
No uploads, no accounts, no server round-trip for your audio. Close the tab and it is gone.
FAQ
Is my audio uploaded anywhere?
No. The file is decoded with the Web Audio API on your own machine and never sent over the network.
Which formats work?
Anything your browser can decode: MP3, WAV, M4A/AAC, OGG and often FLAC. DRM-protected files cannot be read.
Why does the BPM read double or half?
Tempo perception is ambiguous — a 174 BPM track also feels like 87 BPM. Use the ×2 / ÷2 buttons, or pick the half-time or double-time tempo range and re-run.
How accurate is the key?
For electronic and pop music the chroma match is usually right; tracks that modulate, are heavily detuned, or are mostly drums are harder. Check the ring — the tallest bar should be the tonic.
How long can a track be?
Files up to 20 MB and 6 minutes. "Whole track" analyses at most the first 3 minutes to keep your device responsive — the first 30 seconds is plenty for most mixes.