Calculate My 5 Heart Rate Zones

Heart Rate Zone Calculator .hr-calculator-container { max-width: 800px; margin: 20px auto; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; background: #ffffff; padding: 30px; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); border: 1px solid #eee; } .hr-header { text-align: center; margin-bottom: 30px; } .hr-header h2 { color: #d32f2f; margin-bottom: 10px; } .hr-input-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 25px; } .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: 1px solid #ddd; border-radius: 6px; font-size: 16px; transition: border-color 0.3s; } .hr-input-group input:focus { border-color: #d32f2f; outline: none; } .hr-btn-container { text-align: center; } .hr-calculate-btn { background-color: #d32f2f; color: white; border: none; padding: 15px 40px; font-size: 18px; font-weight: bold; border-radius: 6px; cursor: pointer; transition: background-color 0.2s; } .hr-calculate-btn:hover { background-color: #b71c1c; } .hr-results-section { margin-top: 30px; display: none; background-color: #f9f9f9; padding: 20px; border-radius: 8px; } .hr-summary { text-align: center; margin-bottom: 20px; font-size: 1.1em; } .hr-zone-table { width: 100%; border-collapse: collapse; margin-top: 10px; background: white; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 5px rgba(0,0,0,0.05); } .hr-zone-table th, .hr-zone-table td { padding: 15px; text-align: left; border-bottom: 1px solid #eee; } .hr-zone-table th { background-color: #333; color: white; text-transform: uppercase; font-size: 0.85em; letter-spacing: 1px; } .zone-row-1 { border-left: 5px solid #9e9e9e; } /* Grey */ .zone-row-2 { border-left: 5px solid #2196f3; } /* Blue */ .zone-row-3 { border-left: 5px solid #4caf50; } /* Green */ .zone-row-4 { border-left: 5px solid #ff9800; } /* Orange */ .zone-row-5 { border-left: 5px solid #f44336; } /* Red */ .hr-article { max-width: 800px; margin: 40px auto; line-height: 1.6; color: #444; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; } .hr-article h3 { color: #333; margin-top: 30px; } .hr-article ul { margin-bottom: 20px; } @media (max-width: 600px) { .hr-input-grid { grid-template-columns: 1fr; } }

Heart Rate Zone Calculator

Calculate your 5 training zones using the Karvonen Formula.

Measure right after waking up.
Estimated Max Heart Rate: 0 BPM
Heart Rate Reserve (HRR): 0 BPM
Zone Intensity Heart Rate Range Benefit
function calculateHeartRateZones() { // 1. Get input values var ageInput = document.getElementById('hr_age'); var rhrInput = document.getElementById('hr_resting'); var resultDisplay = document.getElementById('hr_result_display'); var tableBody = document.getElementById('zones_table_body'); var displayMaxHr = document.getElementById('display_max_hr'); var displayHrr = document.getElementById('display_hrr'); var age = parseFloat(ageInput.value); var rhr = parseFloat(rhrInput.value); // 2. Validate inputs if (isNaN(age) || age 120) { alert("Please enter a valid age between 10 and 120."); return; } if (isNaN(rhr) || rhr 150) { alert("Please enter a valid resting heart rate (typically between 40-100 BPM)."); return; } // 3. Calculate Max HR and Heart Rate Reserve (Karvonen Method) // Standard formula for Max HR: 220 – Age var maxHr = 220 – age; // Heart Rate Reserve = Max HR – Resting HR var hrr = maxHr – rhr; // Edge case: If resting heart rate is higher than max hr (unlikely but possible with bad input) if (hrr <= 0) { alert("Your Resting Heart Rate cannot be higher than your estimated Maximum Heart Rate."); return; } // Update summary text displayMaxHr.innerHTML = maxHr; displayHrr.innerHTML = hrr; // 4. Define Zone Logic (Karvonen: TargetHR = ((maxHR – restingHR) * %Intensity) + restingHR) function getZoneBpm(percent) { return Math.round((hrr * percent) + rhr); } // Zone Data Structure var zones = [ { id: 1, name: "Zone 1 (Very Light)", minPct: 0.50, maxPct: 0.60, benefit: "Warm up, recovery, improves overall health." }, { id: 2, name: "Zone 2 (Light)", minPct: 0.60, maxPct: 0.70, benefit: "Fat burning, basic endurance building." }, { id: 3, name: "Zone 3 (Moderate)", minPct: 0.70, maxPct: 0.80, benefit: "Aerobic fitness, improves blood circulation." }, { id: 4, name: "Zone 4 (Hard)", minPct: 0.80, maxPct: 0.90, benefit: "Anaerobic capacity, high speed endurance." }, { id: 5, name: "Zone 5 (Maximum)", minPct: 0.90, maxPct: 1.00, benefit: "Maximum performance, speed, neuromuscular." } ]; // 5. Build Table HTML var htmlContent = ""; for (var i = 0; i < zones.length; i++) { var z = zones[i]; var minBpm = getZoneBpm(z.minPct); var maxBpm = getZoneBpm(z.maxPct); // Adjust upper limit of Zone 5 to match Max HR exactly if (i === 4) { maxBpm = maxHr; } htmlContent += ''; htmlContent += '' + z.name + ''; htmlContent += '' + (z.minPct * 100) + '% – ' + (z.maxPct * 100) + '%'; htmlContent += '' + minBpm + ' – ' + maxBpm + ' BPM'; htmlContent += '' + z.benefit + ''; htmlContent += ''; } // 6. Display Results tableBody.innerHTML = htmlContent; resultDisplay.style.display = "block"; // Scroll to results resultDisplay.scrollIntoView({ behavior: 'smooth' }); }

Understanding Your Heart Rate Zones

Training effectively requires more than just running or cycling as fast as you can. To optimize your fitness gains—whether your goal is fat loss, endurance, or peak athletic performance—you need to train at specific intensities. This calculator uses the Karvonen Formula, widely considered the gold standard for calculating training zones because it factors in your specific Resting Heart Rate (RHR), offering a much more personalized result than generic formulas.

What are the 5 Zones?

  • Zone 1 (50-60% Intensity): This is the recovery zone. It feels very easy, allowing for conversation. It helps with warm-ups, cool-downs, and active recovery days.
  • Zone 2 (60-70% Intensity): Often called the "Fat Burning Zone." Training here teaches your body to utilize fat as fuel efficiently. It builds your aerobic base and endurance without putting excessive stress on the body.
  • Zone 3 (70-80% Intensity): The aerobic zone. This is where you improve your cardiovascular system's ability to transport oxygen. It feels like a moderate effort where breathing becomes heavier but is still rhythmic.
  • Zone 4 (80-90% Intensity): The anaerobic threshold zone. Training here improves your ability to sustain high speeds and deal with lactic acid buildup. It is hard work and sustainable only for shorter periods.
  • Zone 5 (90-100% Intensity): Maximum effort. This zone is for short bursts (sprints/intervals) to develop peak speed and neuromuscular coordination. It puts significant strain on the system and requires substantial recovery.

Why Use Resting Heart Rate?

Many simple calculators only use your age to determine your zones (220 – Age). However, this ignores your fitness level. By incorporating your Resting Heart Rate, the Karvonen formula calculates your "Heart Rate Reserve" (HRR)—the functional range between your heart's bottom and top speeds. As you get fitter, your resting heart rate drops, and your training zones will adjust accordingly to keep your workouts effective.

How to Measure Resting Heart Rate

For the most accurate results, measure your pulse immediately after waking up in the morning, before getting out of bed or drinking coffee. Count the beats for 60 seconds. Do this for 3-4 days and take the average to input into the calculator above.

Leave a Comment