How to Calculate Your Heart Rate Reserve

Heart Rate Reserve (HRR) Calculator

Moderate exercise is usually 50-70%, vigorous is 70-85%.

Your Personal Heart Metrics

Max Heart Rate (MHR)
Heart Rate Reserve (HRR)
Target Training Heart Rate:
Beats Per Minute (BPM)

Understanding Heart Rate Reserve (HRR)

Heart Rate Reserve (HRR) is the difference between your measured or predicted maximum heart rate and your resting heart rate. Unlike looking at simple heart rate zones, HRR is a more personalized metric because it accounts for your baseline level of fitness by including your resting pulse.

The Karvonen Formula

To calculate your target heart rate for exercise using the Heart Rate Reserve method, athletes and clinicians use the Karvonen Formula. The formula is expressed as:

Target Heart Rate = (HRR × % Intensity) + Resting HR

Steps to Calculate HRR Manually

  1. Find your Max Heart Rate (MHR): The standard formula is 220 minus your age (e.g., 220 – 30 = 190).
  2. Determine your Resting Heart Rate (RHR): Measure your pulse for one minute while you are completely at rest, ideally right after waking up.
  3. Subtract RHR from MHR: If your MHR is 190 and your RHR is 60, your HRR is 130 BPM.
  4. Apply Intensity: Multiply your HRR by the percentage of effort you want (e.g., 70% or 0.70) and add your RHR back to the result.

Training Intensity Zones

Using HRR allows you to target specific metabolic benefits. Here are the common ranges:

  • Moderate Intensity (50% to 70% of HRR): Ideal for weight management and building basic endurance.
  • Vigorous Intensity (70% to 85% of HRR): Focused on improving cardiovascular fitness and increasing aerobic capacity (VO2 max).
  • Maximum Effort (85%+ of HRR): High-intensity interval training (HIIT) and performance speed work.
Pro Tip: As your cardiovascular fitness improves, your resting heart rate typically decreases. This means your HRR will increase, allowing for a more efficient and capable heart. Re-calculate your HRR every few months to keep your training zones accurate.
function calculateHRR() { var age = document.getElementById("userAge").value; var rhr = document.getElementById("restingHR").value; var intensity = document.getElementById("intensityLevel").value; if (age === "" || rhr === "" || intensity === "" || age <= 0 || rhr <= 0 || intensity <= 0) { alert("Please enter valid positive numbers for all fields."); return; } var ageNum = parseFloat(age); var rhrNum = parseFloat(rhr); var intensityNum = parseFloat(intensity) / 100; // MHR = 220 – age (standard formula) var mhr = 220 – ageNum; // HRR = MHR – RHR var hrr = mhr – rhrNum; if (hrr <= 0) { alert("The resting heart rate cannot be higher than the maximum heart rate. Please check your inputs."); return; } // Target Heart Rate = (HRR * %Intensity) + RHR var targetHR = (hrr * intensityNum) + rhrNum; document.getElementById("displayMHR").innerText = Math.round(mhr) + " BPM"; document.getElementById("displayHRR").innerText = Math.round(hrr) + " BPM"; document.getElementById("displayTargetHR").innerText = Math.round(targetHR); document.getElementById("hrrResultArea").style.display = "block"; // Scroll to result document.getElementById("hrrResultArea").scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }

Leave a Comment