How to Calculate Heart Rate Range

Target Heart Rate Range Calculator

Optimize your workouts using the Karvonen Formula

Your Heart Rate Profile

Estimated Maximum Heart Rate (MHR): BPM

Heart Rate Reserve (HRR): BPM

Exercise Intensity Target Range (BPM)
Moderate (50% – 70%)
Vigorous (70% – 85%)
Peak (85% – 100%)

How to Calculate Heart Rate Range

Understanding your heart rate range is essential for effective cardiovascular training. Instead of a generic formula, the Karvonen Formula is considered the gold standard because it accounts for your unique resting heart rate.

The Math Behind the Calculation

The calculation follows four distinct steps:

  1. Max Heart Rate (MHR): Calculate your ceiling by subtracting your age from 220. (220 – Age = MHR).
  2. Heart Rate Reserve (HRR): Subtract your resting heart rate from your maximum. (MHR – RHR = HRR).
  3. Target Zone Calculation: Multiply HRR by the desired intensity percentage (e.g., 50% or 0.50).
  4. Final Range: Add your resting heart rate back to that number. ( (HRR × Intensity) + RHR = Target HR ).

Example Calculation

Imagine a 40-year-old individual with a resting heart rate of 70 BPM who wants to train at 60% intensity:

  • 1. MHR: 220 – 40 = 180 BPM
  • 2. HRR: 180 – 70 = 110 BPM
  • 3. Intensity: 110 × 0.60 = 66
  • 4. Result: 66 + 70 = 136 BPM

Heart Rate Zones Explained

Moderate Intensity (50-70%): Ideal for beginners, warm-ups, and building basic endurance. You can still hold a conversation comfortably.

Vigorous Intensity (70-85%): Improves aerobic capacity and cardiovascular fitness. Talking becomes difficult at this level.

Peak Intensity (85%+): Used for high-intensity interval training (HIIT) and competitive performance. This level can only be sustained for short durations.

Note: Always consult with a physician before starting a new vigorous exercise program, especially if you have existing heart conditions or are taking medication that affects heart rate.
function calculateHeartRateRange() { var age = document.getElementById('calcAge').value; var restingHR = document.getElementById('calcRestingHR').value; var resultArea = document.getElementById('hrResultsArea'); if (age === "" || restingHR === "" || age <= 0 || restingHR <= 0) { alert("Please enter a valid age and resting heart rate."); return; } var ageNum = parseFloat(age); var rhrNum = parseFloat(restingHR); // Basic Max HR Calculation var mhr = 220 – ageNum; // Heart Rate Reserve var hrr = mhr – rhrNum; if (hrr <= 0) { alert("Resting heart rate cannot be higher than maximum heart rate. Please check your inputs."); return; } // Zone Calculations var modLow = Math.round((hrr * 0.50) + rhrNum); var modHigh = Math.round((hrr * 0.70) + rhrNum); var vigLow = Math.round((hrr * 0.70) + rhrNum); var vigHigh = Math.round((hrr * 0.85) + rhrNum); var peakLow = Math.round((hrr * 0.85) + rhrNum); var peakHigh = mhr; // Output results document.getElementById('resMHR').innerText = mhr; document.getElementById('resHRR').innerText = hrr; document.getElementById('rangeModerate').innerText = modLow + " – " + modHigh + " BPM"; document.getElementById('rangeVigorous').innerText = vigLow + " – " + vigHigh + " BPM"; document.getElementById('rangePeak').innerText = peakLow + " – " + peakHigh + " BPM"; resultArea.style.display = 'block'; // Smooth scroll to results resultArea.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }

Leave a Comment