Heart Rate Reserve Formula Calculator

#hrr-calculator-wrapper { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; max-width: 800px; margin: 20px auto; padding: 25px; border: 1px solid #e0e0e0; border-radius: 12px; background-color: #ffffff; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); } .hrr-header { text-align: center; margin-bottom: 30px; } .hrr-header h2 { color: #d32f2f; margin-bottom: 10px; font-size: 28px; } .hrr-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 25px; } @media (max-width: 600px) { .hrr-grid { grid-template-columns: 1fr; } } .hrr-input-group { display: flex; flex-direction: column; } .hrr-input-group label { font-weight: 600; margin-bottom: 8px; font-size: 14px; color: #555; } .hrr-input-group input, .hrr-input-group select { padding: 12px; border: 1px solid #ccc; border-radius: 6px; font-size: 16px; outline: none; transition: border-color 0.3s; } .hrr-input-group input:focus { border-color: #d32f2f; } .hrr-calc-btn { width: 100%; background-color: #d32f2f; color: white; padding: 15px; border: none; border-radius: 6px; font-size: 18px; font-weight: bold; cursor: pointer; transition: background-color 0.3s; margin-top: 10px; } .hrr-calc-btn:hover { background-color: #b71c1c; } #hrr-result-box { margin-top: 30px; padding: 20px; background-color: #f9f9f9; border-radius: 8px; display: none; } .hrr-result-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid #eee; } .hrr-result-row:last-child { border-bottom: none; } .hrr-result-label { font-weight: 500; color: #666; } .hrr-result-value { font-weight: 700; color: #d32f2f; font-size: 1.1em; } .hrr-article { margin-top: 40px; line-height: 1.6; color: #444; } .hrr-article h3 { color: #222; margin-top: 25px; border-left: 4px solid #d32f2f; padding-left: 15px; } .hrr-article p { margin-bottom: 15px; } .hrr-table { width: 100%; border-collapse: collapse; margin: 20px 0; } .hrr-table th, .hrr-table td { border: 1px solid #ddd; padding: 12px; text-align: left; } .hrr-table th { background-color: #f4f4f4; }

Heart Rate Reserve (HRR) Calculator

Calculate your target heart rate zones using the Karvonen Formula.

Standard (220 – Age) Male (Gellish: 203.7 – 0.7*Age) Female (Gulati: 206 – 0.88*Age)
Maximum Heart Rate (MHR):
Heart Rate Reserve (HRR):
Target Heart Rate (at selected %):
Aerobic Zone (60% – 70%):

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 cushion of heart beats available to you for physical activity. Unlike simple heart rate calculations, HRR takes into account your baseline fitness level (via resting heart rate), making it a much more personalized tool for setting exercise intensity.

The Karvonen Formula Explained

The Karvonen Formula is the mathematical method used to determine your target heart rate training zones using HRR. It is widely considered more accurate than the standard percentage-of-max-heart-rate method because it accounts for individual variations in resting heart rate.

The math works as follows:

  • Step 1: Maximum Heart Rate (MHR) = 220 – Age
  • Step 2: Heart Rate Reserve (HRR) = MHR – Resting Heart Rate
  • Step 3: Target Heart Rate = (HRR × Intensity%) + Resting Heart Rate

Example Calculation

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

  1. MHR = 220 – 40 = 180 BPM
  2. HRR = 180 – 60 = 120 BPM
  3. Target HR = (120 × 0.70) + 60 = 84 + 60 = 144 BPM

Heart Rate Intensity Zones

Intensity Zone Name Benefit
50% – 60% Very Light Warm-up, recovery, basic health.
60% – 70% Light / Aerobic Fat metabolism, cardiovascular endurance.
70% – 80% Moderate Improved aerobic capacity, fitness building.
80% – 90% Hard / Anaerobic Increased speed, lactic acid tolerance.

Why Knowing Your HRR Matters

By using the HRR method, you ensure that your workouts are tailored to your current physiological state. If your resting heart rate decreases over time as you get fitter, your target heart rate zones will automatically shift, allowing you to maintain the appropriate level of challenge for your cardiovascular system. This prevents overtraining and ensures you are working hard enough to see results.

function calculateHRR() { var age = parseFloat(document.getElementById('hrr-age').value); var resting = parseFloat(document.getElementById('hrr-resting').value); var intensity = parseFloat(document.getElementById('hrr-intensity').value); var genderModel = document.getElementById('hrr-gender').value; if (isNaN(age) || isNaN(resting) || isNaN(intensity)) { alert("Please enter valid numbers for Age, Resting HR, and Intensity."); return; } var mhr; if (genderModel === "male") { mhr = 203.7 – (0.7 * age); } else if (genderModel === "female") { mhr = 206 – (0.88 * age); } else { mhr = 220 – age; } var hrr = mhr – resting; if (hrr <= 0) { alert("Resting heart rate cannot be higher than Maximum heart rate. Please check your inputs."); return; } var targetHr = (hrr * (intensity / 100)) + resting; var aerobicLow = (hrr * 0.6) + resting; var aerobicHigh = (hrr * 0.7) + resting; document.getElementById('res-mhr').innerText = Math.round(mhr) + " BPM"; document.getElementById('res-hrr').innerText = Math.round(hrr) + " BPM"; document.getElementById('res-target').innerText = Math.round(targetHr) + " BPM"; document.getElementById('res-aerobic').innerText = Math.round(aerobicLow) + " – " + Math.round(aerobicHigh) + " BPM"; document.getElementById('hrr-result-box').style.display = 'block'; }

Leave a Comment