Target Heart Rate Zones Calculation Formula

.hr-calculator-container { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; max-width: 800px; margin: 20px auto; background: #fff; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); overflow: hidden; } .hr-calc-header { background: #e74c3c; color: white; padding: 20px; text-align: center; } .hr-calc-header h2 { margin: 0; font-size: 24px; } .hr-calc-body { padding: 25px; } .hr-form-group { margin-bottom: 20px; } .hr-form-group label { display: block; margin-bottom: 8px; font-weight: 600; color: #333; } .hr-form-group input { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 4px; font-size: 16px; box-sizing: border-box; } .hr-btn { background: #e74c3c; color: white; border: none; padding: 14px 20px; width: 100%; font-size: 18px; font-weight: bold; border-radius: 4px; cursor: pointer; transition: background 0.3s; } .hr-btn:hover { background: #c0392b; } .hr-result-section { margin-top: 30px; display: none; background: #f9f9f9; padding: 20px; border-radius: 4px; border-left: 5px solid #e74c3c; } .hr-stat-grid { display: flex; justify-content: space-between; margin-bottom: 20px; flex-wrap: wrap; } .hr-stat-box { background: white; padding: 15px; border-radius: 4px; box-shadow: 0 2px 5px rgba(0,0,0,0.05); flex: 1; margin: 5px; min-width: 140px; text-align: center; } .hr-stat-label { font-size: 12px; color: #777; text-transform: uppercase; letter-spacing: 1px; } .hr-stat-value { font-size: 24px; font-weight: bold; color: #2c3e50; margin-top: 5px; } .hr-zones-table { width: 100%; border-collapse: collapse; margin-top: 20px; background: white; } .hr-zones-table th, .hr-zones-table td { padding: 12px 15px; text-align: left; border-bottom: 1px solid #eee; } .hr-zones-table th { background-color: #f1f1f1; color: #333; font-weight: 600; } .zone-row-1 { border-left: 4px solid #95a5a6; } /* Grey */ .zone-row-2 { border-left: 4px solid #3498db; } /* Blue */ .zone-row-3 { border-left: 4px solid #2ecc71; } /* Green */ .zone-row-4 { border-left: 4px solid #f1c40f; } /* Yellow */ .zone-row-5 { border-left: 4px solid #e74c3c; } /* Red */ .hr-article-content { max-width: 800px; margin: 40px auto; padding: 0 20px; line-height: 1.6; color: #444; } .hr-article-content h2 { color: #2c3e50; margin-top: 30px; } .hr-article-content h3 { color: #e74c3c; margin-top: 20px; } .hr-article-content ul { margin-bottom: 20px; } .hr-article-content li { margin-bottom: 10px; }

Target Heart Rate Zone Calculator

Use the Karvonen Formula to determine your optimal training zones based on your age and resting heart rate.

Measure your pulse for 60 seconds while lying in bed in the morning.
Max Heart Rate
— BPM
Heart Rate Reserve
— BPM

Training Zones

Zone Intensity Target Range (BPM) Benefit

Understanding Target Heart Rate Zones

Calculating your target heart rate zones is essential for optimizing cardiovascular training. Whether you are an elite athlete or a beginner looking to improve fitness safely, knowing which zone you are training in ensures you are stimulating the right energy systems without overtraining.

The Karvonen Formula Explained

While basic calculators simply take a percentage of your Maximum Heart Rate (MHR), this calculator utilizes the Karvonen Formula. This method is considered more accurate for individuals with varying fitness levels because it incorporates your Resting Heart Rate (RHR).

The logic is as follows:

  • Max Heart Rate (MHR): Estimated as 220 minus your age.
  • Heart Rate Reserve (HRR): MHR minus your Resting Heart Rate. This represents the total range of heart beats available for exercise.
  • Target Zone Calculation: (HRR × Intensity %) + RHR.

Breakdown of the 5 Heart Rate Zones

Training in different zones produces different physiological adaptations. Here is what happens in each zone:

Zone 1: Very Light (50-60%)

This is the recovery zone. It is used for warm-ups, cool-downs, and active recovery days. Training here improves overall health and helps recovery by increasing blood flow to muscles to flush out waste products.

Zone 2: Light (60-70%)

Often called the "Fat Burning Zone." Here, your body becomes more efficient at oxidizing fat for energy. It builds your aerobic base and endurance capacity. You should be able to hold a conversation easily in this zone.

Zone 3: Moderate (70-80%)

The aerobic zone. This improves blood circulation and the efficiency of the heart. Training here is harder, breathing is heavier, but you can still sustain the effort for a moderate duration.

Zone 4: Hard (80-90%)

The anaerobic threshold zone. You are training your body to tolerate lactic acid. This high-intensity effort improves your maximum performance capacity and speed. It is difficult to speak more than a few words at a time.

Zone 5: Maximum (90-100%)

This is your VO2 Max zone. It is a maximum effort that can only be sustained for very short bursts (seconds to a few minutes). It is used mostly for interval training to improve speed and neuromuscular power.

How to Measure Resting Heart Rate

For the most accurate results in the calculator above, measure your Resting Heart Rate (RHR) immediately after waking up in the morning, before getting out of bed. Count your pulse for 60 seconds. A lower RHR generally indicates better cardiovascular fitness.

function calculateHeartZones() { var ageInput = document.getElementById("inputAge").value; var rhrInput = document.getElementById("inputRHR").value; var resultDiv = document.getElementById("hrResults"); var dispMHR = document.getElementById("dispMHR"); var dispHRR = document.getElementById("dispHRR"); var zonesBody = document.getElementById("zonesBody"); // Clear previous errors or results zonesBody.innerHTML = ""; // Validation var age = parseFloat(ageInput); var rhr = parseFloat(rhrInput); if (isNaN(age) || age 120) { alert("Please enter a valid age between 1 and 120."); return; } if (isNaN(rhr) || rhr 200) { alert("Please enter a valid resting heart rate (typically between 30 and 150)."); return; } // Calculations based on Karvonen Formula // 1. Max Heart Rate (Standard estimation) var mhr = 220 – age; // 2. Heart Rate Reserve (HRR) var hrr = mhr – rhr; // Safety check if RHR > MHR (unlikely but possible with bad input) if (hrr <= 0) { alert("Your Resting Heart Rate cannot be higher than your estimated Max Heart Rate."); return; } // Display basic stats dispMHR.innerHTML = mhr + " BPM"; dispHRR.innerHTML = hrr + " BPM"; // Helper to calculate specific intensity function getTargetRate(percent) { return Math.round((hrr * percent) + rhr); } // Define Zones var zones = [ { name: "Zone 1", intensity: "50% – 60%", min: getTargetRate(0.50), max: getTargetRate(0.60), benefit: "Warm up, Recovery", cssClass: "zone-row-1" }, { name: "Zone 2", intensity: "60% – 70%", min: getTargetRate(0.60), max: getTargetRate(0.70), benefit: "Fat Burn, Endurance", cssClass: "zone-row-2" }, { name: "Zone 3", intensity: "70% – 80%", min: getTargetRate(0.70), max: getTargetRate(0.80), benefit: "Aerobic Fitness", cssClass: "zone-row-3" }, { name: "Zone 4", intensity: "80% – 90%", min: getTargetRate(0.80), max: getTargetRate(0.90), benefit: "Anaerobic Threshold", cssClass: "zone-row-4" }, { name: "Zone 5", intensity: "90% – 100%", min: getTargetRate(0.90), max: mhr, // Cap at MHR benefit: "Maximum Performance", cssClass: "zone-row-5" } ]; // Build Table Rows var htmlRows = ""; for (var i = 0; i < zones.length; i++) { var z = zones[i]; htmlRows += ''; htmlRows += '' + z.name + ''; htmlRows += '' + z.intensity + ''; htmlRows += '' + z.min + ' – ' + z.max + ''; htmlRows += '' + z.benefit + ''; htmlRows += ''; } zonesBody.innerHTML = htmlRows; resultDiv.style.display = "block"; }

Leave a Comment