More games at WuGames.ioSponsoredDiscover free browser games — play instantly, no download, no sign-up.Play

BPM Detector

Drop in any MP3/WAV/FLAC — get the BPM (tempo) instantly with a confidence score. Also includes manual tap-tempo. No upload, runs in your browser. Free, no signup.

Upload
Drag & drop an audio file here
or click to browse
Choose an audio file to detect BPM (any format)
Tap Manual Tap Tempo

Tap the button below in rhythm to manually calculate BPM

About BPM Detector

This online BPM detector automatically analyzes your audio files to find the tempo in beats per minute (BPM). Perfect for DJs, musicians, dancers, and music producers who need to know the exact tempo of their tracks. The tool also includes a manual tap tempo feature for quick BPM counting.

How do I detect the BPM (beats per minute) of a song with this tool?

Upload your audio file (MP3, WAV, FLAC, OGG, M4A, etc.) by dragging it onto the upload area or clicking to browse. The tool analyzes the entire track in your browser using onset detection and autocorrelation — no upload to a server. After a few seconds you see the estimated BPM, the confidence score, the detected beat grid overlaid on the waveform, and the song's musical key if enabled. Most modern songs return a result in 3 to 10 seconds. For variable-tempo tracks (live recordings, classical music with rubato), the tool reports an average and optionally a tempo curve over time.

Why does my detected BPM differ from what Spotify or Beatport shows?

Three reasons. First, BPM is genre-dependent and ambiguous — a song at 70 BPM and one at 140 BPM can have the same pulse perception (octave error), and different services report different choices. Spotify often picks the higher harmonic for dance tracks; this tool snaps to the most likely musical tempo but lets you halve or double it with one click. Second, songs with prominent off-beat percussion can confuse beat trackers, and Spotify's algorithm uses commercial metadata and editorial overrides while this tool runs purely on signal analysis. Third, live performances drift in tempo, so the average shown depends on which section the analyzer weighted most. If you disagree with the result, listen and tap it manually as a tiebreaker.

What audio formats can I analyze for BPM detection?

Any format the browser can decode: MP3, WAV, FLAC, OGG Vorbis, AAC, M4A, Opus, WebM audio, and AIFF. The analysis is performed on the decoded PCM samples, so codec choice does not affect BPM accuracy — a 128 kbps MP3 yields the same tempo estimate as the lossless source. What does matter is signal quality: badly clipped or distorted audio, very quiet recordings, and tracks with heavy reverb or strong sidechain compression can throw off the onset detector. If a track contains long silent intros or outros, trim them first or let the tool's silence-skip option ignore them automatically so the average BPM reflects the actual music.

What is a good BPM range for different music genres?

Typical ranges: ambient and downtempo 60 to 90, ballads and slow R&B 60 to 80, hip-hop 70 to 100 (or 140 to 200 double-time), classic rock 100 to 130, pop 95 to 130, house 118 to 130, techno 120 to 150, drum and bass 165 to 180, hardcore and gabber 180 to 250, trap 140 to 160 (often felt as 70 to 80 half-time). Use these only as rough guides — many songs sit between genres or shift tempo. DJs commonly mix tracks within plus or minus 6 percent of each other for natural-feeling transitions, which is why beat-matching software offers pitch sliders covering this range; this tool reports an exact value so you know how much pitch adjustment a mix will need.

BPM Detector — Drop in any MP3/WAV/FLAC — get the BPM (tempo) instantly with a confidence score. Also includes manual tap-tempo. No upl
BPM Detector

What is the difference between BPM, tempo, and time signature?

BPM (beats per minute) is a count of beats per 60 seconds — a pure rate. Tempo is the broader musical concept that includes BPM plus stylistic feel (rubato, swing, accelerando) and is often described qualitatively (allegro, andante). Time signature defines how beats group into bars: 4/4 means four quarter-note beats per bar, 3/4 means three (waltz), 7/8 means seven eighth-notes (Take Five). BPM measures rate, not grouping — a 120 BPM song can be in 4/4, 3/4, or 6/8 without changing its BPM. This tool reports BPM and detects the most likely downbeat (bar start); time-signature detection is harder and is a separate, optional output.

How does the tool actually detect tempo — what algorithm runs under the hood?

The pipeline has three stages. First, an onset-detection function transforms the audio into a 1-D signal that spikes at percussive events. The most common method is the spectral flux: take the short-time Fourier transform (typically 1024-sample windows, 50 percent overlap, Hann window) and sum positive frame-to-frame magnitude differences across bins. Second, the onset signal is fed through autocorrelation or a comb filterbank to find the period that best aligns with regularly spaced peaks. Third, the candidate period is converted to BPM (60 / period in seconds) and verified by phase-aligning a click track. Robust implementations also use multi-band onset detection (separate low, mid, high bands) and apply tempo priors (genre-typical 60 to 200 BPM ranges) to break octave ambiguity.

Why does the BPM I get half or double what I expected? How do I fix it?

This is the classic octave error in beat tracking. The autocorrelation step finds a periodicity in the onsets, but a stable pulse at 80 BPM is also stable at 40 and 160 BPM — the algorithm has no purely mathematical way to choose. To resolve, trackers apply heuristics: songs with strong subdivisions (sixteenth-note hi-hats) get pushed to higher BPM, songs with long sustained notes get pushed lower, and a prior centered around 120 BPM (the global most common tempo in popular music) breaks ties. If you disagree, click the halve or double button — the underlying pulse is correct, only the chosen octave needs adjustment. For DJ work, always check the half-time/double-time interpretation matches the dance floor feel.

Can the tool handle songs with changing tempo or live performances?

Yes, with caveats. The default mode estimates a single global BPM, which works well for steady electronic and pop tracks. For live recordings, classical music, ballads with rubato, or songs that accelerate, enable the dynamic tempo mode (sometimes called tempo curve). This runs the autocorrelation over short overlapping windows (typically 4 to 8 seconds) and outputs BPM as a function of time. You will see drift of 1 to 5 BPM in most pop ballads and 10 to 30 BPM in romantic-era classical music. For producers, the curve can be exported as a tempo map for import into Ableton Live or Logic Pro so MIDI parts follow the live timing instead of forcing a stiff metronome onto it.