Tap Tempo / BPM Finder

Tap the button (or press Space) in time with a beat to find its tempo — useful for setting a metronome, a DJ set, or a delay/reverb effect to match a song.

How Tap Tempo / BPM Finder Works

Figuring out a song's BPM (beats per minute) by ear and math is slow and error-prone -- tapping along to the beat and letting the gaps between taps do the math is faster and more natural. This tool converts your tap rhythm into a live BPM reading, plus a full table of delay times for setting up an echo or reverb effect that stays in sync with that tempo.

Formula & Method

Each tap records a precise timestamp, and the interval to the previous tap is calculated. Once at least two taps exist, BPM is 60000 ÷ average interval in milliseconds, using a rolling average of your last 8 taps -- recent enough to adapt quickly if your tapping tempo drifts, but averaged enough that a single mistimed tap doesn't throw the whole reading off. Pausing more than 2 seconds between taps starts a completely fresh reading, on the assumption that a long pause means you're starting over on a new beat. Delay times for music production follow the standard convention that a "quarter note" delay equals 60000 ÷ BPM milliseconds, with other note values as simple multiples or fractions of that (a dotted note is ×1.5, a triplet is ×2⁄3).

Worked Example

Tapping at a steady 500ms between taps settles to a reading of exactly 120 BPM -- landing right at the top edge of the "Moderato" tempo marking -- with a quarter-note delay time of 500ms, an eighth note at 250ms, and a dotted eighth at 375ms.

Frequently Asked Questions

Why does the BPM use an average of the last 8 taps instead of just the most recent gap?
A single tap-to-tap interval is noisy -- human tapping naturally varies by a few milliseconds even at a steady intended tempo -- so averaging across 8 taps smooths out that noise while still being responsive enough to follow real tempo changes within a couple of seconds, rather than either overreacting to one slightly-off tap or being sluggish to update.
Why does pausing reset the count instead of just ignoring the gap?
A pause longer than 2 seconds almost always means you've stopped tapping to the previous beat and are about to start on a new one (or a different song) -- folding that long gap into the average would produce a nonsensical BPM, so the tool treats it as a fresh start instead.
What are the tempo markings (Andante, Allegro, etc.) actually based on?
They're the traditional Italian tempo terms used in Western classical music notation, each conventionally associated with an approximate BPM range -- these ranges are commonly cited but not perfectly standardized, since different music theory references draw the exact boundaries slightly differently, so treat the label as a useful ballpark description rather than an exact classification.
Why would a music producer need delay times in milliseconds instead of just the BPM?
Most delay and reverb plugins that aren't tempo-synced to a DAW require the effect's time to be entered directly in milliseconds -- converting a song's BPM into the millisecond value for a quarter note, eighth note, dotted eighth, etc. lets a producer manually dial in an echo that repeats exactly on the beat instead of drifting out of time with the track.

Tap at least twice to get a reading. Pausing for more than 2 seconds starts a fresh reading.

BPM
Note ValueDelay Time

BPM is the average of your last 8 taps, so it settles quickly and still adapts if your tempo drifts. Tempo names (Andante, Allegro, etc.) are commonly cited approximate ranges — different music theory references draw the boundaries slightly differently. Delay times use the standard music-production convention: a "quarter note" delay is 60000 ÷ BPM milliseconds, with dotted values ×1.5 and triplet values ×2⁄3 of the equivalent plain note.