Drop in a track and get an estimated beats-per-minute reading. This tool uses web-audio-beat-detector in the browser with a 40–200 BPM range, so slow ballads are not misread as double-time tempos. Everything is analyzed locally on your device.
Principle
This tool decodes the audio locally in your browser and runs the web-audio-beat-detector algorithm. It scans the energy envelope for beat-like peaks, measures the intervals between them, and returns a BPM estimate. The detection range is set to 40–200 BPM so slow ballads (around 60–70 BPM) are not misread as double-time tempos.
Limitations
Browser-based BPM detection is a best-effort estimate. Songs with dense transients (cymbals, drum rolls, plosive consonants), uneven rhythms, or no clear drum beat can confuse the detector and cause “octave” errors (e.g., 63 BPM reported as 126). Long intros, silence, or very quiet recordings may also reduce accuracy.
Need higher accuracy?
For professional analysis, use Python with librosa. Download the script below, install librosa, then run: python bpm_analyzer.py song.mp3
Your data is processed entirely in your browser. Nothing is uploaded to any server.
Yes, all audio tools on Offline ToolHub are free.
No. Audio is processed locally in your browser with Web Audio and ffmpeg.wasm.
MP3, WAV, M4A, OGG and FLAC, depending on the tool.
No signup required.