MotionLyric

● Free · private · runs in your browser

BPM Finder

Find the tempo of any song in a few seconds. Drop in an audio file and the beats are detected on your device. Then play the song with a click on every detected beat, so you can hear whether the number is right instead of taking it on trust.

Drop a song here

MP3, WAV, M4A, FLAC or OGG. Analysed on your device, never uploaded.

File none yet

Tempo

— BPM

Half time — · Double time —

Beats found
—
Length
—
Analysed in
—

Check by ear: tap along

— BPM

Make a lyric video with this songLoad a song above and it comes with you into the editor.

Open it in the lyric video maker →

How the BPM finder works

BPM means beats per minute: how many times per minute you would tap your foot to the song. The finder works it out in three steps, all inside your browser:

  1. Onsets. The audio is cut into short slices, and each slice is compared with the one before it. Sudden jumps in energy across the spectrum mark where notes and drum hits start.
  2. Tempo. The onset pattern is compared with shifted copies of itself. The shift at which it lines up best is the beat period, which gives the BPM.
  3. Beats. A beat tracker then places each individual beat, following the song when the drummer pushes or drags a little. Those are the clicks you hear on playback.

The same beat tracker drives our lyric video maker, where the cuts between lyric lines snap to the beat. If you want a lyric video for the song you just analysed, use the button above: the song goes straight into the editor, still without being uploaded.

Half time, double time and why both can be right

A song at 140 BPM can feel like 70 if the snare lands on every other beat, and a slow ballad at 70 can be counted at 140 in eighth notes. Neither is a mistake; they are two ways of counting the same pulse. The result card shows both readings. Pick the one your DJ software, click track or video editor expects, or tap along and see which one your foot agrees with.

BPM to seconds

One beat lasts 60 ÷ BPM seconds. That is handy when you edit video to music: at 120 BPM a beat is exactly half a second, so a cut every 15 frames at 30 fps stays on the beat.

Beat and bar length for common tempos
BPMOne beatOne 4/4 barFrames per beat at 30 fps
601.000 s4.00 s30.0
700.857 s3.43 s25.7
800.750 s3.00 s22.5
900.667 s2.67 s20.0
1000.600 s2.40 s18.0
1100.545 s2.18 s16.4
1200.500 s2.00 s15.0
1280.469 s1.88 s14.1
1400.429 s1.71 s12.9
1500.400 s1.60 s12.0
1600.375 s1.50 s11.3
1740.345 s1.38 s10.3

What to do with a song’s BPM

BPM finder questions

How accurate is the BPM finder?

On test tracks with a known tempo it lands within half a percent. On real songs the usual mistake is not a small error but a different reading of the same rhythm: half or double the tempo, or a related one when the groove is ambiguous. That is why the result comes with beat clicks you can play against the song, and a tap-tempo check.

Is my song uploaded?

No. The file is decoded and analysed by your browser on your device. Nothing is sent to a server, so it also works with unreleased tracks.

Why does it say 70 when the song feels like 140?

Both are valid readings of the same pulse, one counting every other beat. Genres such as dubstep, trap and drum and bass are often felt at half time. Use whichever number your DJ software, metronome or editor expects; the result card shows the half-time and double-time values too.

Can I find the BPM of a song on YouTube or Spotify?

Not from a link. The tool works on audio files you have on your device, such as your own mixes, stems, demos or purchased downloads.

What if the tempo changes during the song?

The finder reports one tempo for the whole track, and the detected beats follow the song as closely as they can. If the clicks drift away from the music at some point, the tempo changes there; tap along in that section to measure it.

How do I use tap tempo?

Press the Tap button or the T key in time with the music, at least four or five times. The reading uses the median of your last taps, so one early or late tap does not throw it off. Pause for two seconds to start a new measurement.