Running Heart Rate Calculator

Running Heart Rate Calculator

This calculator helps you estimate your target heart rate zones for running, based on your age. Understanding your heart rate zones can help you train more effectively, improve your endurance, and prevent overtraining.

Understanding Heart Rate Zones for Running

Your heart rate is a key indicator of exercise intensity. By calculating your target heart rate zones, you can tailor your running workouts to achieve specific fitness goals:

  • Zone 1 (Very Light): 50-60% of Maximum Heart Rate. This is a recovery zone, good for warm-ups and cool-downs.
  • Zone 2 (Light): 60-70% of Maximum Heart Rate. This is your aerobic base zone, great for building endurance and fat burning.
  • Zone 3 (Moderate): 70-80% of Maximum Heart Rate. This zone improves aerobic fitness and is often referred to as "tempo" running.
  • Zone 4 (Hard): 80-90% of Maximum Heart Rate. This zone increases anaerobic threshold and improves speed.
  • Zone 5 (Maximum): 90-100% of Maximum Heart Rate. This is an anaerobic zone for short, high-intensity bursts.

How to Estimate Your Maximum Heart Rate: The most common formula is 220 minus your age. However, this is just an estimate. For more accurate results, consider a stress test or consult a fitness professional. If you know your actual maximum heart rate, you can enter it directly into the calculator.

Using these zones helps you balance intensity and recovery, ensuring you get the most out of every run.

var calculateHeartRateZones = function() { var ageInput = document.getElementById("age"); var maxHeartRateInput = document.getElementById("maxHeartRate"); var resultDiv = document.getElementById("result"); var age = parseFloat(ageInput.value); var estimatedMaxHeartRate = parseFloat(maxHeartRateInput.value); resultDiv.innerHTML = ""; // Clear previous results var calculatedMaxHeartRate; if (!isNaN(estimatedMaxHeartRate) && estimatedMaxHeartRate > 0) { calculatedMaxHeartRate = estimatedMaxHeartRate; } else if (!isNaN(age) && age > 0 && age < 100) { calculatedMaxHeartRate = 220 – age; } else { resultDiv.innerHTML = "Please enter a valid age or estimated maximum heart rate."; return; } var zone1_low = Math.round(calculatedMaxHeartRate * 0.50); var zone1_high = Math.round(calculatedMaxHeartRate * 0.60); var zone2_low = Math.round(calculatedMaxHeartRate * 0.60); var zone2_high = Math.round(calculatedMaxHeartRate * 0.70); var zone3_low = Math.round(calculatedMaxHeartRate * 0.70); var zone3_high = Math.round(calculatedMaxHeartRate * 0.80); var zone4_low = Math.round(calculatedMaxHeartRate * 0.80); var zone4_high = Math.round(calculatedMaxHeartRate * 0.90); var zone5_low = Math.round(calculatedMaxHeartRate * 0.90); var zone5_high = Math.round(calculatedMaxHeartRate * 1.00); var html = "

Your Target Heart Rate Zones (bpm)

"; html += "Estimated Maximum Heart Rate: " + calculatedMaxHeartRate + " bpm"; html += "
    "; html += "
  • Zone 1 (Very Light): " + zone1_low + " – " + zone1_high + " bpm
  • "; html += "
  • Zone 2 (Light): " + zone2_low + " – " + zone2_high + " bpm
  • "; html += "
  • Zone 3 (Moderate): " + zone3_low + " – " + zone3_high + " bpm
  • "; html += "
  • Zone 4 (Hard): " + zone4_low + " – " + zone4_high + " bpm
  • "; html += "
  • Zone 5 (Maximum): " + zone5_low + " – " + zone5_high + " bpm
  • "; html += "
"; resultDiv.innerHTML = html; }; .calculator-container { font-family: sans-serif; display: flex; flex-wrap: wrap; gap: 30px; max-width: 900px; margin: 20px auto; border: 1px solid #ddd; padding: 20px; border-radius: 8px; background-color: #f9f9f9; } .calculator-form { flex: 1; min-width: 300px; } .calculator-explanation { flex: 1; min-width: 300px; background-color: #eef; padding: 15px; border-radius: 5px; } .calculator-explanation h3 { margin-top: 0; } .form-group { margin-bottom: 15px; } .form-group label { display: block; margin-bottom: 5px; font-weight: bold; } .form-group input { width: calc(100% – 12px); padding: 8px; border: 1px solid #ccc; border-radius: 4px; } button { background-color: #4CAF50; color: white; padding: 10px 15px; border: none; border-radius: 4px; cursor: pointer; font-size: 16px; } button:hover { background-color: #45a049; } #result { margin-top: 20px; border-top: 1px solid #eee; padding-top: 15px; } #result ul { list-style: none; padding: 0; } #result li { margin-bottom: 8px; }

Leave a Comment