Tools/Audio Tools/BPM Detector

BPM Detector – Find the Tempo of a Song From an Audio File

Estimate the tempo of a song in beats per minute from an audio file your browser can decode, such as MP3, WAV or OGG. Analysed on your device.

If this tool isn’t working as expected, please take a screenshot of the error and report the problem here so we can investigate and improve it.

About this tool

Counting beats against a stopwatch is slow and easy to get wrong. Upload the file, and within a few seconds you have a tempo to start from for a DJ set, a remix, a video edit or a workout playlist.

In tests on synthetic drum patterns and click tracks from 70 to 175 BPM, the detected tempo was within 2 BPM of the true value.

Upload a song or other audio file and this BPM detector estimates its tempo in beats per minute. It reads any audio format your browser can decode - MP3, WAV and OGG work in every modern browser, and M4A/AAC in most - and analyses the file on your device with the Web Audio API, so nothing is uploaded. The result is a whole-number estimate between 60 and 200 BPM, with a tempo label, a genre-range guess and the time between beats. There is no tap-tempo pad, no microphone input and no key or Camelot detection.

How to Use BPM Detector

Upload Audio

Select an audio file with a clear, steady beat from your device.

Analyze

The tool finds the note onsets and the tempo the rhythm repeats at, between 60 and 200 BPM.

See BPM

View the detected tempo, a rough tempo label, and a genre-range guess.

Check by Ear

Play the file in the built-in player and tap along to confirm the tempo.

Common Workflows

Upload an Audio File

Click the upload area and choose a song or recording. MP3, WAV and OGG work everywhere; other formats work when your browser can decode them.

Wait for the Analysis

Analysis starts as soon as the file is chosen - there is no separate start button - and usually takes a few seconds.

Read the Result

See the detected BPM, a tempo label such as "Fast", a genre-range guess and the beat interval in milliseconds, and play the file in the built-in player to check it by ear.

Best For

  • Finds the beat from note onsets across the whole frequency range, not just the bass, then checks which tempo the rhythm repeats at most strongly - so a beat carried by hi-hats or a snare can be found too.
  • Handles the usual half-time/double-time trap better than a simple peak counter: it compares a tempo with its half and double and prefers the one that fits the rhythm. It can still be wrong on unusual music, so a quick check against what you hear is worth it.
  • Long tracks are analysed over a two-minute stretch that starts about 10 seconds in, so a quiet intro is skipped. If there is no steady beat - silence, a held tone, noise or free-time music - it says so instead of inventing a number.

Examples

A house track

Input

A dance track with a steady kick drum at 128 BPM

Result

Detected BPM: 128, Fast, Genre Match: Pop, House, Techno, Beat Interval: 469ms

60,000 ms divided by 128 beats gives a beat every 469 ms. The genre label comes from a fixed BPM-range table, not from listening to the style.

Music with no steady beat

Input

An ambient piece, a held tone or a voice recording

Result

"Could not detect BPM - try a clearer rhythm track"

When the rhythm doesn't repeat strongly enough, the tool reports that no tempo was found rather than guessing.

Use Cases

Starting point for a DJ set

Get a tempo for each track, then beatmatch and fine-tune by ear.

Remixing and sampling

Check a song's BPM before choosing a project tempo.

Workout and video playlists

Check whether a track sits in the tempo range you want.

Common Mistakes

Problem

Expecting a tap-tempo pad

Solution

This tool only analyses an uploaded file - there is no tap-along pad and no microphone input.

Problem

Expecting key or Camelot detection

Solution

Only the tempo is detected. There is no musical key, scale or Camelot code.

Problem

Treating "Genre Match" as genre recognition

Solution

It is looked up from the detected BPM in a fixed range table; two very different songs at the same tempo get the same label.

Problem

Uploading a track outside 60-200 BPM

Solution

The search covers 60 to 200 BPM. A very slow or very fast piece is reported at a related tempo inside that range, such as double or half.

Tips & Best Practices

Check the number by ear

Play the file in the player under the result and tap along for a few beats. If the tempo feels like half or double, that is the one to use.

Use a section with a clear beat

Tracks with a steady drum pattern give the most reliable results. Free-time intros, rubato and heavy tempo changes make detection harder.

Changing the tempo is a different tool

To speed a track up or slow it down, use the Audio Speed Changer - note that it changes the pitch too.

Limitations

One tempo per file

The tool returns a single BPM. A song that changes tempo partway through is reported at the tempo that dominates the analysed section.

60-200 BPM, whole numbers

Only tempos between 60 and 200 BPM are considered, and the result is rounded to a whole number.

Up to two minutes are analysed

For files longer than two minutes, a continuous two-minute section starting up to 10 seconds in is used. Files shorter than 3 seconds can't be analysed.

No tap tempo, key or song lookup

There is no tap-tempo pad, microphone input, key or Camelot detection, confidence score, or lookup of a song's BPM by title.

Formats depend on your browser

The file is decoded by your browser, so a format it can't play - some FLAC, ALAC or WMA files, for example - can't be analysed. Large files need enough free memory to decode.

Comparisons

This Tool vs. DJ Software (e.g., Serato, Rekordbox)

Both estimate tempo, but DJ software adds harmonic and confidence data this tool doesn't have.

This Tool (BPM Detector)DJ Software (Serato, Traktor, Rekordbox)
Key/Camelot detectionNot availableIncluded, for harmonic mixing
Beat grid and tempo changesOne tempo per fileBeat grids that can follow tempo changes
Tap-tempo inputNot available - upload onlyUsually available
SetupNone - upload a file in the browserRequires installing DJ software

FAQs

Most questions are about how reliable the number is and which files work. The answers below explain how the tempo is found, what can throw it off, and what the tool does not do.

What does BPM mean in music?

BPM stands for Beats Per Minute - the number of rhythmic beats that occur in one minute. It is the standard measure of musical tempo. 60 BPM = one beat per second. 120 BPM = two beats per second (a common dance tempo). Slow ballads: 60–80 BPM. Walking pace: ~100 BPM. Pop and dance music: 110–130 BPM. House music: 120–130 BPM. Drum and bass: 160–180 BPM. Techno: 130–150 BPM.

How does this tool actually detect BPM?

It decodes the file in your browser, measures how much the sound changes from moment to moment across the frequency range (a sudden change usually means a new note or drum hit), and then looks for the time interval at which those changes repeat most strongly between 60 and 200 BPM. It compares that tempo with its half and double, keeps the best fit and refines it to a fraction of a beat before rounding to a whole number.

How accurate is BPM detection?

On music with a steady beat it is usually within a couple of BPM - in tests on synthetic drum patterns and click tracks from 70 to 175 BPM it was within 2 BPM. Accuracy drops for free-time or rubato music, songs that change tempo, very sparse percussion and noisy recordings. When no steady beat is found, the tool tells you instead of showing a number.

Why might my BPM detector return double or half the actual BPM?

Rhythm is ambiguous: a 70 BPM ballad and a 140 BPM track with the same groove can look alike. This tool compares each candidate tempo with its half and double and prefers the one the rhythm supports, which avoids most of these errors, but a half-time drum-and-bass beat or a track outside 60-200 BPM can still come back halved or doubled. Play the file and tap along to check.

Does it detect musical key or give Camelot codes?

No. This tool returns BPM only - there's no key detection, scale identification, or Camelot-wheel output.

Can I tap along to find the BPM instead of uploading a file?

No. There's no tap-tempo pad in this tool - it only works from an uploaded audio file.

Is my audio file uploaded anywhere?

No. CoditTools's BPM detector decodes and analyzes your file entirely in your browser using the Web Audio API - it's never uploaded to a server.

Which audio files can I use?

Any audio file your browser can decode: MP3, WAV and OGG in every modern browser, and M4A/AAC in most. The file is analysed on your device and never uploaded. Files shorter than 3 seconds can't be analysed, and for files longer than two minutes a two-minute section starting about 10 seconds in is used.

Get more tools like this

Leave your email so we can prioritize similar tools and updates.