Try the BPM Detector now
Upload any audio file — instant tempo analysis, no signup.
What is BPM and why does it matter?
BPM stands for Beats Per Minute — the number of rhythmic pulses in sixty seconds of music. A song at 120 BPM has two beats every second; a ballad at 60 BPM has one. BPM is the universal language of tempo: DJs use it to match tracks, runners use it to pace their stride, and musicians use it to practice at the right speed.
Knowing a song’s BPM helps you:
- Build playlists by energy level — group tracks by tempo for workouts, study sessions, or DJ sets.
- Practice at the right speed — set your metronome to the song’s tempo and play along.
- Sync visuals to music — match video cuts or animation frames to the beat.
- Classify your library — tag every track with its tempo for faster searching.
How the ToolKnit BPM Detector works
The BPM Detector runs entirely in your browser. When you upload an audio file, the Web Audio API decodes it into raw PCM data. The tool then performs onset detection — identifying moments of sudden energy increase (the “attacks” of drum hits, guitar strums, or piano strikes). The intervals between onsets are analyzed with a histogram to find the most common period, which gives the BPM.
Here’s the process step by step:
- Decode — the browser reads your MP3, WAV, OGG, FLAC, or M4A file into a floating-point audio buffer.
- Downsample — the signal is reduced to ~11 kHz for faster processing without losing beat information.
- Spectral flux — consecutive FFT frames are compared; positive energy differences form the onset envelope.
- Peak picking — peaks above a threshold are marked as candidate beats.
- IOI histogram — inter-onset intervals are binned; the tallest bin gives the dominant tempo.
- Normalization — the result is adjusted into the 60–180 BPM range (avoiding double/half-time ambiguity).
Waveform visualization and beat markers
After analysis, the tool draws the waveform of your audio file and overlays beat markers — thin vertical lines at each detected beat position. This visual feedback lets you confirm that the algorithm is tracking the actual rhythm, not noise or artifacts.
If the markers look off, you can use Tap Tempo to verify: play the audio and tap along with the beat. The tap counter shows your manual BPM, which you can compare against the algorithm’s result.
Which genres work best?
Onset-detection algorithms work best on music with clear, steady rhythmic accents:
- Electronic / EDM — four-on-the-floor kick drums make detection nearly perfect.
- Pop / Rock — snare and hi-hat patterns are easy to detect.
- Hip-hop — drum machine beats provide strong onsets.
- Metal — double-bass patterns may read as double-time; halve the result.
Genres with rubato, rubato, or free tempo (classical, jazz ballads, ambient) produce an average BPM that may not reflect the moment-to-moment tempo. For these, tap tempo is more reliable.
Common BPM ranges by genre
- Dub / Reggae: 60–90 BPM
- Hip-hop: 80–115 BPM
- House: 120–130 BPM
- Techno: 125–150 BPM
- Drum & Bass: 160–180 BPM
- Pop: 100–130 BPM
- R&B: 60–100 BPM
Double-time and half-time: when BPM seems wrong
Sometimes the detector returns double or half the expected BPM. This happens because the algorithm may lock onto eighth notes (double) or half notes (half) instead of the quarter-note pulse. The fix is simple:
- If the BPM seems too high, divide by 2.
- If it seems too low, multiply by 2.
Most popular music falls between 60 and 180 BPM, so any result outside that range is likely a double/half-time artifact.
BPM for DJs: harmonic mixing and tempo matching
DJs rely on BPM to match tempos when transitioning between tracks. Two songs within ±3 BPM can be smoothly blended. The ToolKnit BPM Detector gives you the number you need to plan your set, and the waveform view helps you see where beats fall for cue-point placement.
For harmonic mixing, pair BPM detection with key detection (not yet available in ToolKnit) to find tracks that are both tempo- and key-compatible.
BPM for runners and cyclists
Research shows that matching your cadence to music tempo improves performance and perceived effort. A common guideline:
- Walking: 100–120 BPM
- Jogging: 120–140 BPM
- Running: 140–180 BPM
- Sprinting: 180+ BPM
Use the BPM Detector to tag your playlist, then sort by tempo to build workout-specific sets.
Privacy: why browser-based BPM detection matters
Most online BPM detectors upload your audio to a server for analysis. That means your entire song — possibly copyrighted, unreleased, or personal — is transmitted over the internet and stored on someone else’s machine.
ToolKnit’s BPM Detector processes everything locally in your browser. The Web Audio API decodes and analyzes the file on your device. No data is sent to any server. This is safe for:
- Copyrighted music you own but don’t want to upload.
- Unreleased demos and original compositions.
- Personal voice memos or field recordings.
Frequently asked questions
How do I find the BPM of a song?
Upload the audio file (MP3, WAV, OGG, FLAC, or M4A) to the ToolKnit BPM Detector. The tool analyzes the waveform in your browser and displays the detected BPM, along with a waveform visualization and beat markers.
Is the BPM detector accurate?
The algorithm is accurate for most rhythmic music (pop, rock, electronic, hip-hop). Complex or irregular rhythms may show approximate results. You can verify with the built-in tap tempo feature.
Does the BPM detector upload my audio to a server?
No. All processing happens locally in your browser using the Web Audio API. Your audio file never leaves your device.
What audio formats work with the BPM detector?
MP3, WAV, OGG, FLAC, M4A, AAC, and any format your browser can decode through the Web Audio API.
Can I verify the detected BPM?
Yes. Play the audio back and use the Tap Tempo feature to manually tap along. Compare your tap BPM against the algorithm’s result.
What if the BPM seems double or half what I expect?
The algorithm may have locked onto eighth notes or half notes. Simply divide or multiply by 2 to get the quarter-note BPM.
Detect the BPM of any song
Upload audio → instant tempo → waveform + beat markers. Free, private, no signup.