Heart Rate Reserve Calculation

.hrr-calculator-container { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; max-width: 800px; margin: 20px auto; padding: 25px; border: 1px solid #e1e1e1; border-radius: 12px; background-color: #ffffff; box-shadow: 0 4px 15px rgba(0,0,0,0.05); } .hrr-calculator-container h2 { color: #2c3e50; margin-top: 0; text-align: center; font-size: 28px; } .hrr-input-group { margin-bottom: 20px; } .hrr-input-group label { display: block; margin-bottom: 8px; font-weight: 600; color: #34495e; } .hrr-input-group input { width: 100%; padding: 12px; border: 2px solid #ddd; border-radius: 6px; font-size: 16px; box-sizing: border-box; transition: border-color 0.3s; } .hrr-input-group input:focus { border-color: #3498db; outline: none; } .hrr-calculate-btn { width: 100%; background-color: #e74c3c; color: white; padding: 15px; border: none; border-radius: 6px; font-size: 18px; font-weight: bold; cursor: pointer; transition: background-color 0.3s; } .hrr-calculate-btn:hover { background-color: #c0392b; } .hrr-result-box { margin-top: 25px; padding: 20px; background-color: #f9f9f9; border-radius: 8px; display: none; border-left: 5px solid #e74c3c; } .hrr-result-item { display: flex; justify-content: space-between; margin-bottom: 10px; padding-bottom: 5px; border-bottom: 1px solid #eee; } .hrr-result-label { font-weight: 600; color: #7f8c8d; } .hrr-result-value { font-weight: bold; color: #2c3e50; font-size: 18px; } .hrr-article { margin-top: 40px; line-height: 1.6; color: #444; } .hrr-article h3 { color: #2c3e50; border-bottom: 2px solid #e74c3c; padding-bottom: 5px; display: inline-block; } .hrr-table { width: 100%; border-collapse: collapse; margin: 20px 0; } .hrr-table th, .hrr-table td { padding: 12px; border: 1px solid #ddd; text-align: left; } .hrr-table th { background-color: #f2f2f2; }

Heart Rate Reserve (HRR) Calculator

Estimated Max Heart Rate (MHR):
Heart Rate Reserve (HRR):
Target Heart Rate (@ Intensity):

What is Heart Rate Reserve (HRR)?

Heart Rate Reserve (HRR) is the difference between your measured or predicted maximum heart rate and your resting heart rate. It represents the actual "cushion" of heartbeats you have available for physical activity. Unlike simple Max HR calculations, HRR takes into account your baseline cardiovascular fitness (via your resting heart rate), making it a much more personalized metric for training.

The Karvonen Formula

The calculation performed above uses the Karvonen Formula, which is widely considered the gold standard for determining exercise intensity zones. The formula is:

Target Heart Rate = (Heart Rate Reserve × % Intensity) + Resting Heart Rate

Why HRR is Better Than Max HR Alone

Two people might both be 40 years old (Estimated Max HR of 180), but if one has a resting heart rate of 50 and the other 80, their fitness levels are drastically different. HRR adjusts the training zones to reflect these differences, ensuring the athlete with the lower resting heart rate isn't under-training, and the beginner isn't over-exerting.

Typical Training Intensity Zones

Intensity Level % of HRR Benefit
Very Light 50% – 60% Recovery and warming up
Light/Fat Burn 60% – 70% Basic endurance and weight management
Moderate/Aerobic 70% – 80% Improving aerobic capacity and cardiovascular health
Hard/Anaerobic 80% – 90% Increasing speed and lactic acid tolerance
Maximum/Elite 90% – 100% Maximal performance and sprint speed

Real-World Example

If you are 30 years old with a resting heart rate of 60 bpm and you want to exercise at 70% intensity:

  1. Max HR: 220 – 30 = 190 bpm.
  2. HRR: 190 – 60 = 130 bpm.
  3. Target Heart Rate: (130 × 0.70) + 60 = 151 bpm.

In this case, 151 beats per minute is your specific target for a 70% aerobic workout.

function calculateHRR() { var age = parseFloat(document.getElementById('hrrAge').value); var rhr = parseFloat(document.getElementById('hrrResting').value); var intensity = parseFloat(document.getElementById('hrrIntensity').value); var resultBox = document.getElementById('hrrResultBox'); if (isNaN(age) || isNaN(rhr) || isNaN(intensity)) { alert("Please enter valid numbers for Age, Resting Heart Rate, and Intensity."); return; } if (age 120 || rhr <= 0 || intensity <= 0) { alert("Please enter realistic values."); return; } // 1. Calculate Max Heart Rate (Fox Formula) var mhr = 220 – age; // 2. Calculate Heart Rate Reserve var hrr = mhr – rhr; if (hrr <= 0) { alert("Resting heart rate cannot be higher than maximum heart rate. Please check your inputs."); return; } // 3. Calculate Target Heart Rate (Karvonen) var intensityDecimal = intensity / 100; var thr = (hrr * intensityDecimal) + rhr; // Display results document.getElementById('resMHR').innerText = Math.round(mhr) + " BPM"; document.getElementById('resHRR').innerText = Math.round(hrr) + " BPM"; document.getElementById('resTHR').innerText = Math.round(thr) + " BPM"; resultBox.style.display = "block"; }

Leave a Comment