Detect the tempo (BPM) of any audio file. Includes tap tempo feature and genre reference guide.
Drop in a song and find out its tempo. The BPM Detector analyzes rhythmic patterns in the audio and reports the beats per minute. Results appear in seconds for most tracks. If the automatic detection is not quite right, you can tap along to manually set the tempo.
Initializing in your browser…
Speed up or slow down audio playback from 0.25x to 4x without changing pitch. Perfect for transcription, music practice, podcast speed adjustment, and audiobook listening.
Trim, cut, and slice audio files with interactive waveform visualization. Drag handles to select portions, use keyboard shortcuts, zoom and pan, preview selection before export. Supports MP3, WAV, OGG, AAC.
Combine multiple audio files into one track. Drag and drop to reorder, merge MP3s, WAVs, and other formats. Create seamless audio compilations online.
You want the tempo of a track to beat-match it or set a metronome for practice.
Input
track.mp3 (4-on-the-floor dance)
Result
Estimated tempo: 128 BPM (confidence high)
Onset/energy peaks are analysed to find the dominant periodicity, which on strongly rhythmic music is reliably the tempo. The confidence indicator warns when rubato or sparse percussion makes the estimate shaky.
Drop in a song and find out its tempo. The BPM Detector analyzes rhythmic patterns in the audio and reports the beats per minute. Results appear in seconds for most tracks. If the automatic detection is not quite right, you can tap along to manually set the tempo.
Find the BPM of tracks in your library to plan mixes and beatmatching.
Determine the tempo of a sample or reference track before building a project around it.
Sort songs by tempo to build workout playlists at specific BPM ranges.
The detector decodes your file with the browser's Web Audio API (AudioContext.decodeAudioData) and analyzes the first channel only (getChannelData(0)). Before looking for beats it runs the signal through a one-pole IIR low-pass filter with a 150 Hz cutoff (computed as alpha = dt / (rc + dt)), which strips away vocals, hi-hats and cymbals and leaves the kick drum and bassline that carry the clearest pulse. It then slides a 100 millisecond energy window across the filtered audio (hopping a quarter window at a time), sums the squared samples in each window, and marks a beat wherever a window's energy is a local maximum AND exceeds 1.5 times the track's average energy. The spacing between those energy peaks, averaged and converted with 60 / (interval in seconds), gives the tempo.
Because raw peak spacing can land outside musical territory, the result is folded into a 60-200 BPM range: anything below 60 is repeatedly doubled and anything above 200 is repeatedly halved. This same fold is exactly why half-time and double-time errors happen. If the energy detector locks onto only every other kick it reports half the real tempo, and on busy subdivided sections it can lock onto the off-beats and report double. The confidence figure shown next to the BPM is computed as 1 minus the standard deviation of the beat intervals divided by their mean (clamped at 0), so a metronomic four-on-the-floor house track scores high while a rubato or live-drummed piece scores low. The bar is colored green at 80% and up, yellow from 50%, and red below that, giving you an honest read on whether to trust the number.
Alongside the automatic analysis there is a manual tap-tempo pad that averages the intervals between your taps within a rolling 5-second window (older taps are filtered out, so the reading follows tempo changes) and needs at least 2 taps before it shows a value. Because the pad is a focusable button labeled 'or press spacebar', pressing space activates it whenever it has keyboard focus. This is the recommended fallback when confidence is low or when the automatic detector reports a suspected half/double value. The result panel renders a 200-bar amplitude waveform of the file and labels the detected tempo with a genre bucket (for example 'Pop / House' under 125 BPM, 'Drum & Bass' under 180), and a built-in reference grid lists typical ranges (Hip-Hop 85-115, Pop 100-130, House 120-130, Techno 130-150, Dubstep 140-150, Trance 130-145, Drum & Bass 160-180, Reggae 60-90) so you can sanity-check the detection against the music you expect.
BPM detection algorithms can lock onto half-time or double-time patterns. If the result seems off by a factor of two, simply halve or double it.
It works best with music that has a clear, steady beat. Rubato performances or free-time recordings may produce unreliable results.
Audio is decoded and processed locally with the Web Audio API. Your files are never uploaded to a server.