Online BPM Counter — Auto Detect or Tap Tempo
Two modes: Auto-detect BPM from any uploaded audio file using beat onset analysis, or Tap Tempo for live music. Shows BPM with confidence score, genre classification, beat grid overlay on waveform, and a delay time calculator. 100% browser-based — no upload to any server.
Upload audio for auto-detection, or tap the button to measure live
Energy onset analysis + autocorrelation. No audio leaves your browser.
| Note | Delay (ms) | Dotted (ms) | Triplet (ms) |
|---|
| Note | Delay (ms) | Dotted (ms) | Triplet (ms) |
|---|
Rate this tool
What makes this BPM counter different from audioalter and getsongbpm
Detect BPM in two ways
LazyTools vs other online BPM counters
| Feature | LazyTools | audioalter.com | getsongbpm.com | vocalremover.org | soundyak.com |
|---|---|---|---|---|---|
| File stays on device | ✅ Always | ❌ Uploaded | ❌ Uploaded | ❌ Uploaded | ✅ Browser |
| Auto detect + tap tempo | ✅ Both modes | ✅ Both | Tap only | ✅ Both | ✅ Both |
| Beat grid on waveform | ✅ Yes | ❌ No | ✅ Yes | ❌ No | ❌ No |
| Confidence score | ✅ Colour-coded bar | ❌ No | ❌ No | ❌ No | ✅ Text only |
| Genre classification | ✅ Yes | ❌ No | ❌ No | ❌ No | ❌ No |
| Delay time calculator | ✅ All note lengths | ❌ No | ❌ No | ❌ No | ❌ No |
| Copy BPM to clipboard | ✅ Yes | ❌ No | ❌ No | ❌ No | ❌ No |
| No signup required | ✅ Always | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Typical BPM ranges by genre
| Genre | BPM Range | Common examples |
|---|---|---|
| Ambient / Dub | 60–70 | Brian Eno, Massive Attack, Dub reggae |
| Hip-Hop / R&B | 70–90 | Boom bap, trap (half-time), neo-soul |
| Soul / Reggae | 90–110 | Motown, lovers rock, classic soul |
| Pop / Rock | 110–125 | Chart pop, classic rock, indie, funk |
| House / Disco | 125–135 | Deep house, tech house, classic disco |
| Techno / Trance | 135–145 | Detroit techno, progressive trance, EDM |
| Drum & Bass | 160–180 | Liquid DnB, neurofunk, jungle |
| Hardcore / Gabber | 160–300+ | Speedcore, industrial hardcore, psycore |
BPM Detection Guide — How Automatic Tempo Analysis Works
BPM (beats per minute) is the fundamental unit of musical tempo. Modern music production and DJ work depend on accurate BPM knowledge for beatmatching, sample alignment, and DAW grid synchronisation. Automatic BPM detection analyses the audio signal to identify the periodic pulse that defines the tempo, without any manual tapping or counting.
How the algorithm works: energy onset + autocorrelation
The detector uses a three-stage pipeline. First, the audio is downsampled to 11,025 Hz and split into short windows. For each window, the RMS (root mean square) energy is computed. This produces an energy envelope showing how loud the audio is over time. Second, the onset strength signal is computed by differentiating the energy envelope and half-wave rectifying (keeping only positive changes). This highlights moments where energy suddenly increases, which correspond to drum hits, note onsets, and beat accents. Third, autocorrelation is applied to the onset signal. Autocorrelation measures how similar the signal is to a time-shifted version of itself. The lag at which the signal most closely matches itself corresponds to the beat interval. Converting that lag to beats per minute gives the BPM.
Why BPM detection can be wrong — and how to fix it
The most common error is an octave error: detecting half or double the true BPM. A 120 BPM track might be detected as 60 BPM (if the algorithm locks onto every other beat) or 240 BPM (if it locks onto subdivisions). The algorithm uses range clamping (60–200 BPM) and normalisation to correct most of these, but complex polyrhythms and tracks with non-standard time signatures may still confuse it. When the confidence score is low (red bar), use tap tempo to cross-verify. If the tap result matches the auto result, it's likely correct. If they differ significantly, one of them has made an octave error — the true BPM is usually the lower value.
The delay calculator — using BPM in music production
Once you know the BPM, every note value in the bar has a corresponding duration in milliseconds. A quarter note (one beat) at 120 BPM = 500ms. An eighth note = 250ms. A dotted quarter = 750ms. These values are used in production to set reverb pre-delay (often 30–80ms, a fraction of a 16th note), echo delay time (typically quarter or dotted eighth), LFO rate (often sixteenth or triplet sixteenth), and sidechain compressor attack and release times. Setting these values to musically meaningful fractions of the beat makes a track feel rhythmically cohesive.
BPM counter — 8 questions answered
BPM = Beats Per Minute. The tempo of a piece of music. Slow ballad: 60-80 BPM. House: 125-130 BPM. Drum & bass: 160-180 BPM. Essential for DJ beatmatching, sample alignment, and DAW grid sync.
Energy envelope (RMS per window) > onset strength (energy increases) > autocorrelation (find the most periodic lag) > convert lag to BPM. Best on tracks with a strong, consistent kick drum or bass hit.
Manually tap along to the beat. After 3+ taps, the average interval is calculated and converted to BPM. Tap for 8+ beats for accuracy. Press Space on desktop or tap the button on mobile.
No. The Web Audio API decodes your file locally. The BPM detection algorithm runs in JavaScript in your browser. No audio data is sent to any server.
How strongly periodic the beat is in the autocorrelation. Green = very consistent beat (electronic music). Amber = moderate (pop, rock). Red = weak or variable beat. Always tap-verify low-confidence results.
Converts BPM to note-length delay times in milliseconds. Used to set reverb, echo, LFO, and sidechain times musically in time with the track. Quarter note at 120 BPM = 500ms. Eighth = 250ms.
Yes. Most common error: octave error (detecting half or double the true BPM). The algorithm clamps to 60-200 BPM and normalises, but complex rhythms may still confuse it. Use tap tempo to cross-verify.
LazyTools BPM Counter is 100% free. No upload, no server, no account, no signup. Auto detect + tap tempo, beat grid, confidence score, genre classification, delay calculator. Your audio stays on your device.