Beats per Minute Calculator

Beats Per Minute (BPM) Calculator

Click or tap the button below in rhythm to calculate BPM.

Current BPM
0
Taps: 0
Resulting BPM
0

What is BPM?

BPM stands for Beats Per Minute. It is a standard unit of measurement for tempo in music and heart rate in medicine and fitness. In music, it determines the speed of a piece, while in health, it indicates how many times your heart beats in a 60-second window.

How to Use the BPM Calculator

This tool offers two distinct ways to determine frequency:

  • Tap Tempo: Ideal for musicians or DJs. Simply click the "TAP HERE" button in time with a song or rhythm. The calculator will average the intervals between your taps to provide an accurate real-time BPM reading.
  • Manual Input: Perfect for checking your pulse. Count the number of heartbeats you feel over a set period (like 10 or 15 seconds), enter those values, and the calculator will extrapolate that to a 60-second rate.

Common BPM Ranges

Category BPM Range
Resting Heart Rate (Adult) 60 – 100 BPM
House Music 115 – 130 BPM
Hip Hop Tempo 85 – 95 BPM
Walking/Hiking Pace 110 – 120 BPM

Example Calculation

If you count 18 heartbeats in 15 seconds, the formula is:

(Beats / Seconds) × 60 = BPM
(18 / 15) × 60 = 72 BPM
var tapTimes = []; var lastTap = 0; function calculateTapBPM() { var now = Date.now(); if (lastTap !== 0) { var diff = now – lastTap; // If the tap is more than 2 seconds apart, reset to treat as a new start if (diff > 2000) { tapTimes = []; } else { tapTimes.push(diff); } } lastTap = now; if (tapTimes.length > 0) { var sum = 0; for (var i = 0; i < tapTimes.length; i++) { sum += tapTimes[i]; } var avg = sum / tapTimes.length; var bpm = Math.round(60000 / avg); document.getElementById('tap-result').innerText = bpm; document.getElementById('tap-count').innerText = "Taps: " + (tapTimes.length + 1); } else { document.getElementById('tap-count').innerText = "Taps: 1"; } } function resetTap() { tapTimes = []; lastTap = 0; document.getElementById('tap-result').innerText = "0"; document.getElementById('tap-count').innerText = "Taps: 0"; } function calculateManualBPM() { var beats = parseFloat(document.getElementById('manual-beats').value); var seconds = parseFloat(document.getElementById('manual-seconds').value); if (isNaN(beats) || isNaN(seconds) || seconds <= 0) { document.getElementById('manual-result').innerText = "0"; return; } var bpm = Math.round((beats / seconds) * 60); document.getElementById('manual-result').innerText = bpm; }

Leave a Comment