How to Calculate Exercise Heart Rate Zone

.hr-calc-container { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; max-width: 800px; margin: 20px auto; padding: 25px; border: 1px solid #e1e1e1; border-radius: 12px; background-color: #ffffff; box-shadow: 0 4px 6px rgba(0,0,0,0.05); } .hr-calc-header { text-align: center; margin-bottom: 25px; } .hr-calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; } @media (max-width: 600px) { .hr-calc-grid { grid-template-columns: 1fr; } } .hr-input-group { display: flex; flex-direction: column; } .hr-input-group label { font-weight: 600; margin-bottom: 8px; color: #333; } .hr-input-group input { padding: 12px; border: 2px solid #ddd; border-radius: 6px; font-size: 16px; transition: border-color 0.3s; } .hr-input-group input:focus { border-color: #e53935; outline: none; } .hr-calc-btn { width: 100%; background-color: #e53935; 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; } .hr-calc-btn:hover { background-color: #c62828; } .hr-result-section { margin-top: 30px; display: none; padding-top: 20px; border-top: 2px solid #f0f0f0; } .hr-max-display { text-align: center; background: #fdf2f2; padding: 15px; border-radius: 8px; margin-bottom: 20px; } .hr-max-val { font-size: 28px; font-weight: bold; color: #e53935; } .zone-table { width: 100%; border-collapse: collapse; margin-top: 15px; } .zone-table th, .zone-table td { padding: 12px; text-align: left; border-bottom: 1px solid #eee; } .zone-table th { background-color: #f8f9fa; color: #555; } .zone-color { display: inline-block; width: 12px; height: 12px; border-radius: 50%; margin-right: 8px; } .hr-article { margin-top: 40px; line-height: 1.6; color: #444; } .hr-article h2 { color: #222; margin-top: 25px; } .hr-article table { width: 100%; border-collapse: collapse; margin: 20px 0; } .hr-article th, .hr-article td { border: 1px solid #ddd; padding: 10px; text-align: left; } .hr-article th { background-color: #f4f4f4; }

Exercise Heart Rate Zone Calculator

Determine your optimal training intensity using the Karvonen Formula.

Your Estimated Maximum Heart Rate
190 BPM
Heart Rate Reserve (HRR): 125 BPM
Intensity Zone Percentage Target BPM Range

How to Calculate Exercise Heart Rate Zones

Understanding your heart rate zones is essential for optimizing your cardiovascular fitness, whether you are training for a marathon or simply looking to improve your general health. While many people use the basic "220 minus age" formula, fitness professionals often prefer the Karvonen Formula, which accounts for your resting heart rate to provide a more personalized training range.

The Karvonen Formula Explained

The Karvonen formula calculates your Heart Rate Reserve (HRR) to determine your specific target zones. Here is the step-by-step math:

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

Understanding the 5 Heart Rate Zones

Exercise intensity is typically divided into five zones based on your maximum heart rate capacity:

Zone Intensity Benefit
Zone 1 (50-60%) Very Light Warm-up, recovery, and basic health maintenance.
Zone 2 (60-70%) Light Fat metabolism and basic endurance building (The "Aerobic" zone).
Zone 3 (70-80%) Moderate Improved aerobic capacity and cardiovascular efficiency.
Zone 4 (80-90%) Hard Increased anaerobic capacity and speed endurance.
Zone 5 (90-100%) Maximum Maximum performance, sprinting, and peak power development.

Realistic Calculation Example

Let's look at a 40-year-old individual with a resting heart rate of 70 BPM who wants to train in Zone 3 (Moderate Intensity, 70-80%).

  • Max HR: 220 – 40 = 180 BPM
  • Heart Rate Reserve: 180 – 70 = 110 BPM
  • Lower Bound (70%): (110 × 0.70) + 70 = 147 BPM
  • Upper Bound (80%): (110 × 0.80) + 70 = 158 BPM

This individual's target Zone 3 range is 147 to 158 beats per minute.

Tips for Accuracy

To get the most accurate results from this calculator, measure your resting heart rate first thing in the morning before getting out of bed. Place two fingers on your wrist or neck and count the beats for 60 seconds. Repeat this for three mornings and use the average for the "Resting Heart Rate" input field above.

function calculateHRZones() { var age = document.getElementById("hr_age").value; var resting = document.getElementById("hr_resting").value; var resultDiv = document.getElementById("hr_results"); var zoneBody = document.getElementById("zone_body"); if (!age || age 120) { alert("Please enter a valid age."); return; } if (!resting || resting 200) { alert("Please enter a valid resting heart rate."); return; } var mhr = 220 – age; var hrr = mhr – resting; document.getElementById("hr_max_val").innerText = mhr + " BPM"; document.getElementById("hr_reserve_val").innerText = hrr; var zones = [ { name: "Zone 1 (Very Light)", min: 0.50, max: 0.60, color: "#e0e0e0" }, { name: "Zone 2 (Light)", min: 0.60, max: 0.70, color: "#90caf9" }, { name: "Zone 3 (Moderate)", min: 0.70, max: 0.80, color: "#81c784" }, { name: "Zone 4 (Hard)", min: 0.80, max: 0.90, color: "#ffb74d" }, { name: "Zone 5 (Maximum)", min: 0.90, max: 1.00, color: "#e57373" } ]; var html = ""; for (var i = 0; i < zones.length; i++) { var low = Math.round((hrr * zones[i].min) + parseInt(resting)); var high = Math.round((hrr * zones[i].max) + parseInt(resting)); html += ""; html += "" + zones[i].name + ""; html += "" + (zones[i].min * 100) + "% – " + (zones[i].max * 100) + "%"; html += "" + low + " – " + high + " BPM"; html += ""; } zoneBody.innerHTML = html; resultDiv.style.display = "block"; resultDiv.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }

Leave a Comment