BPM Detector Online

or drop files here

Estimate a song’s beats per minute and compare alternate tempo candidates. An onset-energy envelope and normalized autocorrelation estimate periodic beats. Half-time and double-time ambiguity is common; the score is an estimate, not musical certainty.

Find recurring attacks

The detector builds a short-time onset-energy envelope and searches for recurring intervals. Percussive music with a stable pulse generally supplies clearer evidence than ambient pads or free-time speech.

Read candidate scores

The strongest correlation becomes the displayed estimate. Other local peaks remain visible because a rhythm can support several plausible pulse interpretations; scores express periodicity strength, not calibrated certainty.

Resolve half-time ambiguity

An apparent 80 BPM groove may also be counted at 160 BPM. Tap along to the snare and musical phrasing, then narrow the minimum and maximum range to the convention relevant to your project.

Know the analysis window

Up to the first three minutes are analyzed to bound computation. Very short clips and silence return no reliable estimate, while tempo changes inside a song can weaken or split the candidate peaks.

Technical references: Web Audio API specification

BPM Detector FAQs

BPM Detector decodes and processes the selected audio in your browser. File contents are not sent to an audio-processing server; page analytics are described in the site privacy policy.
BPM Detector saves JSON tempo report. The report includes the estimated BPM, candidate scores and the analyzed duration when sufficient rhythm is detected.
Open BPM Detector, choose your recording, adjust its settings and review the estimated tempo and save the JSON report. Processing runs on your device.
BPM Detector schedules a background render after a setting changes. The completed preview or analysis replaces the previous result automatically. Processing time depends on recording length and device performance; the status message shows when the new result is ready.