DJs matching tracks, runners building playlists and producers chopping loops all need a song’s tempo. Drop in a file to get its BPM, check the result against a click track on the beat grid, or tap along if you would rather count it yourself.
Processing locally on your device
Overview
Tempo detection starts by finding onsets, the moments where a new sound begins. The detector decodes your file, mixes it to mono and computes a spectral-flux curve: about 200 times per second it compares the log-compressed spectrum (up to 8 kHz) with the previous one and adds up every increase in energy. Drum hits, plucked strings and piano notes all produce sharp peaks in this onset-strength envelope, while sustained sounds add very little. The curve is then cleaned by removing its local average, so a loud chorus does not swamp a quiet verse.
To turn onsets into a tempo, the detector autocorrelates the envelope, measuring how similar it is to itself when shifted by every possible beat period between 60 and 200 BPM. A comb filter scores each candidate by the strength of the correlation at one, two, three and four beat periods, which rewards a steady pulse over a one-off repetition. The best peaks are refined to a hundredth of a BPM, a gentle preference for tempos near 120 BPM settles ties between related values, and the beat phase is found by sliding the grid until it lines up with the strongest onsets.
The most common “error” is not a wrong number but a factor of two. A hip-hop track at 85 BPM can just as reasonably be counted at 170, and drum and bass at 174 has a half-time feel at 87. The algorithm picks the strongest pulse, which may not be what a dancer would count, so the result shows half- and double-time values, other candidates such as 3:2 relationships, and ×2 and ÷2 buttons. The confidence score combines how strongly periodic the music is with how far the winner stands above unrelated tempos, so a steady electronic track scores high and rubato piano or ambient material scores low.
Verification is built in. The beat grid is drawn over the waveform, and playback can add a click on every detected beat, or play the clicks alone, so you can hear immediately whether the grid stays locked to the music. If it drifts, the track probably changes tempo or was played live without a click. For those cases, the tap tempo pad averages up to 12 taps (click it or press T) and can replace the detected tempo for the grid.
| Genre | Typical BPM | Often counted as |
|---|---|---|
| Hip-hop | 80–100 | Sometimes double (160–200) |
| Pop | 100–130 | Usually as detected |
| House | 118–130 | Usually as detected |
| Techno | 125–150 | Usually as detected |
| Dubstep | 138–142 | Half time feel (≈70) |
| Drum and bass | 160–180 | Half time (80–90) |
Drop a song, loop or video onto the page; analysis starts automatically.
Read the BPM, its confidence and the half- and double-time values.
Press Play with click track to hear the detected beat grid against the music.
If the tempo feels twice or half as fast as you count it, press ×2 or ÷2, or pick another candidate.
Optionally tap along on the pad (or press T) and use the tapped tempo for the grid.
Use cases
Check the tempo of tracks that arrived without metadata, or confirm a tag that looks wrong, before sorting a crate. The click track makes it obvious whether a song really sits at 128 or at 126.
Match songs to your cadence. Many runners aim for around 160–180 steps per minute, so a track at 85–90 BPM works at double time and one at 170 works directly.
Find the tempo of a loop or acapella before dropping it into a DAW project, so it lines up with the grid without guesswork or repeated time-stretching.
Musicians learning a song can measure its tempo, then set a metronome slightly slower to practise and build up to full speed.
Pro tips
Answers to common questions about the bpm detector.
Both are valid descriptions of the same pulse. The detector chooses the strongest repetition, nudged towards the 90–140 BPM range most music is counted in, but genres such as drum and bass or trap are often counted at half or double that. Press ×2 or ÷2 to switch, and the beat grid and click track follow.
On music with a fixed tempo, such as most electronic and studio pop, results are typically within a few hundredths of a BPM of the true value, which is why the tool shows one decimal place. Live recordings with drifting tempo can only be described by an average.
It combines how strongly periodic the onsets are with how clearly the winning tempo beats any unrelated alternative. High confidence means a steady, obvious beat. Low confidence means the music has weak or changing rhythm, and you should check the result with the click track or tap tempo.
No. It estimates one global tempo and a straight beat grid for the whole file. If a song changes tempo, the grid will drift during the parts that differ, which is itself a useful way to spot the change.
A typical four-minute song takes a few seconds on a laptop. The work runs in small chunks so the page stays responsive, and nothing is uploaded.
No. ToolEnhancer processes files on your own device inside the browser. They are never sent to, stored on or seen by our servers.
Yes. The bpm detector is free to use with no sign-up, no watermarks and no daily limits.