Heart Rate Zones Cycling Calculator

Heart Rate Zones Cycling Calculator body { font-family: sans-serif; line-height: 1.6; margin: 20px; } .calculator-container { border: 1px solid #ccc; padding: 20px; border-radius: 8px; max-width: 600px; margin: auto; } label { display: block; margin-bottom: 5px; font-weight: bold; } input[type="number"] { width: calc(100% – 12px); padding: 8px; margin-bottom: 15px; 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; padding: 15px; background-color: #f0f0f0; border: 1px solid #ddd; border-radius: 4px; } h2 { margin-bottom: 15px; } .zone { margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px dashed #eee; } .zone:last-child { border-bottom: none; } .zone-name { font-weight: bold; }

Heart Rate Zones Cycling Calculator

This calculator helps you determine your personalized heart rate training zones, crucial for optimizing your cycling performance and endurance.

Your Heart Rate Training Zones:

Zone 1 (Very Light):
Zone 2 (Light):
Zone 3 (Moderate):
Zone 4 (Hard):
Zone 5 (Maximum):
function calculateHeartRateZones() { var age = parseInt(document.getElementById("age").value); var restingHeartRate = parseInt(document.getElementById("restingHeartRate").value); var resultDiv = document.getElementById("result"); if (isNaN(age) || isNaN(restingHeartRate) || age < 1 || restingHeartRate < 40) { resultDiv.innerHTML = "

Please enter valid age and resting heart rate.

"; return; } // Karvonen Formula for Heart Rate Reserve (HRR) // HRR = Maximum Heart Rate – Resting Heart Rate // Target Heart Rate = (HRR * % intensity) + Resting Heart Rate // Estimate Maximum Heart Rate (MHR) using the Tanaka formula (age-based) var maxHeartRate = 208 – (0.7 * age); var heartRateReserve = maxHeartRate – restingHeartRate; // Calculate Zones based on percentages of HRR and add Resting Heart Rate var zone1Lower = Math.round(restingHeartRate + (heartRateReserve * 0.50)); var zone1Upper = Math.round(restingHeartRate + (heartRateReserve * 0.60)); var zone2Lower = Math.round(restingHeartRate + (heartRateReserve * 0.60)); var zone2Upper = Math.round(restingHeartRate + (heartRateReserve * 0.70)); var zone3Lower = Math.round(restingHeartRate + (heartRateReserve * 0.70)); var zone3Upper = Math.round(restingHeartRate + (heartRateReserve * 0.80)); var zone4Lower = Math.round(restingHeartRate + (heartRateReserve * 0.80)); var zone4Upper = Math.round(restingHeartRate + (heartRateReserve * 0.90)); var zone5Lower = Math.round(restingHeartRate + (heartRateReserve * 0.90)); var zone5Upper = Math.round(maxHeartRate); // Zone 5 goes up to MHR document.getElementById("zone1Value").innerHTML = zone1Lower + " – " + zone1Upper + " bpm"; document.getElementById("zone2Value").innerHTML = zone2Lower + " – " + zone2Upper + " bpm"; document.getElementById("zone3Value").innerHTML = zone3Lower + " – " + zone3Upper + " bpm"; document.getElementById("zone4Value").innerHTML = zone4Lower + " – " + zone4Upper + " bpm"; document.getElementById("zone5Value").innerHTML = zone5Lower + " – " + zone5Upper + " bpm"; }

Leave a Comment