Heart Rate Zones for Running Calculator

.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 #e0e0e0; border-radius: 12px; background-color: #ffffff; box-shadow: 0 4px 6px rgba(0,0,0,0.05); color: #333; } .hr-calc-container h2 { color: #2c3e50; text-align: center; margin-bottom: 25px; } .hr-calc-input-row { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 20px; } .hr-calc-field { flex: 1; min-width: 200px; } .hr-calc-field label { display: block; font-weight: 600; margin-bottom: 8px; font-size: 14px; } .hr-calc-field input { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 6px; font-size: 16px; box-sizing: border-box; } .hr-calc-button { 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.2s; } .hr-calc-button:hover { background-color: #c0392b; } .hr-calc-results { margin-top: 30px; display: none; } .hr-calc-table { width: 100%; border-collapse: collapse; margin-top: 15px; } .hr-calc-table th, .hr-calc-table td { padding: 12px; text-align: left; border-bottom: 1px solid #eee; } .hr-calc-table th { background-color: #f8f9fa; font-weight: 600; } .hr-zone-1 { border-left: 5px solid #3498db; } .hr-zone-2 { border-left: 5px solid #2ecc71; } .hr-zone-3 { border-left: 5px solid #f1c40f; } .hr-zone-4 { border-left: 5px solid #e67e22; } .hr-zone-5 { border-left: 5px solid #e74c3c; } .hr-article-content { margin-top: 40px; line-height: 1.6; } .hr-article-content h3 { color: #2c3e50; margin-top: 25px; }

Heart Rate Zones for Running Calculator

Your Personalized Training Zones

Using the Karvonen Formula (Heart Rate Reserve method) for higher accuracy.

Zone Intensity Heart Rate (BPM) Benefit

How to Use Heart Rate Zones to Improve Your Running

Training by heart rate is one of the most effective ways for runners to ensure they are working at the right intensity. Instead of relying on perceived exertion, which can be influenced by weather, sleep, or stress, heart rate zones provide objective data to guide your workouts.

Understanding the Karvonen Formula

This calculator uses the Karvonen Formula. Unlike simple percentage-of-max-HR calculations, the Karvonen method incorporates your Resting Heart Rate (RHR) to calculate your Heart Rate Reserve (HRR). This provides a more personalized set of zones because it accounts for your current cardiovascular fitness level.

The Five Running Zones Explained

  • Zone 1 (50-60% HRR): Very Light. Best for recovery runs and warming up. It improves overall health and helps recovery after harder sessions.
  • Zone 2 (60-70% HRR): Light (The "Base" Zone). This is where you build endurance. Most of your weekly mileage should be in Zone 2. It enhances the body's ability to burn fat and builds aerobic capacity.
  • Zone 3 (70-80% HRR): Moderate. Often called "Aerobic" or "Marathon Pace." It improves aerobic power and is excellent for building efficiency for long-distance events.
  • Zone 4 (80-90% HRR): Hard (Threshold). This is your anaerobic threshold. Training here improves your body's ability to handle lactic acid, allowing you to run faster for longer.
  • Zone 5 (90-100% HRR): Maximum. Reserved for interval training and sprints. This improves your VO2 max and top-end speed.

Example Calculation

If a 40-year-old runner has a resting heart rate of 60 BPM:

  • Estimated Max HR: 220 – 40 = 180 BPM.
  • Heart Rate Reserve (HRR): 180 – 60 = 120 BPM.
  • Zone 2 Target (Low): (120 * 0.60) + 60 = 132 BPM.
  • Zone 2 Target (High): (120 * 0.70) + 60 = 144 BPM.

For this runner, Zone 2 training stays between 132 and 144 beats per minute.

function calculateHRZones() { var age = parseFloat(document.getElementById('hrAge').value); var restingHR = parseFloat(document.getElementById('hrResting').value); var manualMax = parseFloat(document.getElementById('hrMax').value); if (isNaN(age) || age 120) { alert("Please enter a valid age."); return; } if (isNaN(restingHR) || restingHR 220) { alert("Please enter a valid resting heart rate."); return; } var maxHR = manualMax > 0 ? manualMax : (220 – age); var hrr = maxHR – restingHR; if (hrr <= 0) { alert("Max Heart Rate must be higher than Resting Heart Rate. Please check your inputs."); return; } var zones = [ { name: "Zone 1", label: "Recovery", low: 0.50, high: 0.60, benefit: "Recovery & Warm-up", class: "hr-zone-1" }, { name: "Zone 2", label: "Aerobic Base", low: 0.60, high: 0.70, benefit: "Endurance & Fat Burn", class: "hr-zone-2" }, { name: "Zone 3", label: "Tempo", low: 0.70, high: 0.80, benefit: "Aerobic Capacity", class: "hr-zone-3" }, { name: "Zone 4", label: "Threshold", low: 0.80, high: 0.90, benefit: "Anaerobic Endurance", class: "hr-zone-4" }, { name: "Zone 5", label: "Maximum", low: 0.90, high: 1.00, benefit: "VO2 Max & Speed", class: "hr-zone-5" } ]; var tableBody = document.getElementById('hrTableBody'); tableBody.innerHTML = ''; for (var i = 0; i < zones.length; i++) { var zone = zones[i]; var lowBPM = Math.round(restingHR + (hrr * zone.low)); var highBPM = Math.round(restingHR + (hrr * zone.high)); var row = document.createElement('tr'); row.className = zone.class; row.innerHTML = '' + zone.name + '' + '' + zone.label + '' + '' + lowBPM + ' – ' + highBPM + ' BPM' + '' + zone.benefit + ''; tableBody.appendChild(row); } document.getElementById('hrResults').style.display = 'block'; // Smooth scroll to results document.getElementById('hrResults').scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }

Leave a Comment