Calculator Heart Rate

Heart Rate Zone Calculator .hr-calc-container { max-width: 800px; margin: 0 auto; padding: 20px; font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; color: #333; background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); } .hr-calc-header { text-align: center; margin-bottom: 30px; } .hr-calc-header h2 { color: #d32f2f; margin: 0; font-size: 28px; } .hr-calc-header p { color: #666; margin-top: 5px; } .hr-form-group { margin-bottom: 20px; } .hr-form-label { display: block; margin-bottom: 8px; font-weight: 600; color: #444; } .hr-input-wrapper { position: relative; } .hr-form-input { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 4px; font-size: 16px; box-sizing: border-box; } .hr-form-input:focus { border-color: #d32f2f; outline: none; box-shadow: 0 0 0 2px rgba(211, 47, 47, 0.2); } .hr-calc-btn { width: 100%; padding: 14px; background-color: #d32f2f; color: white; border: none; border-radius: 4px; font-size: 18px; font-weight: bold; cursor: pointer; transition: background-color 0.2s; } .hr-calc-btn:hover { background-color: #b71c1c; } .hr-results { margin-top: 30px; padding: 20px; background-color: #f9f9f9; border-radius: 6px; border-left: 5px solid #d32f2f; display: none; } .hr-summary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 25px; } .hr-stat-box { background: white; padding: 15px; border-radius: 4px; text-align: center; box-shadow: 0 1px 3px rgba(0,0,0,0.1); } .hr-stat-label { font-size: 14px; color: #666; margin-bottom: 5px; } .hr-stat-value { font-size: 24px; font-weight: bold; color: #d32f2f; } .hr-zones-table { width: 100%; border-collapse: collapse; margin-top: 10px; background: white; } .hr-zones-table th, .hr-zones-table td { padding: 12px; text-align: left; border-bottom: 1px solid #ddd; } .hr-zones-table th { background-color: #f1f1f1; font-weight: 600; color: #333; } .hr-zones-table tr:last-child td { border-bottom: none; } .zone-indicator { display: inline-block; width: 12px; height: 12px; border-radius: 50%; margin-right: 8px; } .zone-1 { background-color: #9e9e9e; } /* Grey – Warm up */ .zone-2 { background-color: #4caf50; } /* Green – Fat Burn */ .zone-3 { background-color: #ffeb3b; } /* Yellow – Aerobic */ .zone-4 { background-color: #ff9800; } /* Orange – Anaerobic */ .zone-5 { background-color: #f44336; } /* Red – Max */ .hr-content-section { margin-top: 40px; line-height: 1.6; color: #444; } .hr-content-section h3 { color: #222; margin-top: 25px; } @media (max-width: 600px) { .hr-summary-grid { grid-template-columns: 1fr; } }

Target Heart Rate Calculator

Calculate your optimal training zones using the Karvonen Formula

Measure your pulse for 60 seconds while completely relaxed (optional).

Your Heart Rate Profile

Maximum Heart Rate (MHR)
— BPM
Heart Rate Reserve (HRR)
— BPM

Training Zones

Zone / Intensity Target Range (BPM) Benefit

Understanding Your Target Heart Rate

Calculating your target heart rate zones is essential for effective cardiovascular training. Whether your goal is fat loss, endurance building, or athletic performance, training in the correct "zone" ensures you are stimulating the right energy systems in your body.

How This Calculator Works

This calculator utilizes the Karvonen Formula when a resting heart rate is provided. This is widely considered more accurate than standard percentages because it takes into account your individual fitness level (represented by your resting heart rate).

  • Maximum Heart Rate (MHR): Estimated as 220 – Age. This represents the fastest your heart can beat safely.
  • Heart Rate Reserve (HRR): The difference between your Maximum Heart Rate and your Resting Heart Rate.
  • Target Heart Rate: Calculated as (HRR × Intensity %) + Resting Heart Rate.

The 5 Heart Rate Zones Explained

Zone 1 (50-60%): Very Light. Ideal for warm-ups, cool-downs, and active recovery. It improves overall health and helps recovery.

Zone 2 (60-70%): Light. Often called the "Fat Burning Zone." At this intensity, your body primarily uses fat for fuel. It builds basic endurance and aerobic capacity.

Zone 3 (70-80%): Moderate. The "Aerobic Zone." Improves blood circulation and efficiency of the heart. You will start breathing harder and sweating more.

Zone 4 (80-90%): Hard. The "Anaerobic Zone." Increases maximum performance capacity. Your body creates lactic acid faster than it can flush it out.

Zone 5 (90-100%): Maximum. For elite athletic interval training. Can only be sustained for very short periods.

When to Measure Resting Heart Rate

For the most accurate results, measure your resting heart rate (RHR) in the morning right after you wake up, before getting out of bed. An average adult has an RHR between 60 and 100 beats per minute, while conditioned athletes may be between 40 and 60 bpm.

function calculateHeartRateZones() { // 1. Get Input Values var ageInput = document.getElementById('hrAge').value; var rhrInput = document.getElementById('hrResting').value; var resultsDiv = document.getElementById('hrResults'); // 2. Validate Age if (!ageInput || isNaN(ageInput)) { alert("Please enter a valid age."); return; } var age = parseInt(ageInput); if (age 120) { alert("Please enter a realistic age between 1 and 120."); return; } // 3. Handle Resting Heart Rate (Optional) var rhr = 0; var useKarvonen = false; if (rhrInput && !isNaN(rhrInput)) { rhr = parseInt(rhrInput); if (rhr 200) { alert("Please enter a realistic Resting Heart Rate (30-200 BPM) or leave it blank."); return; } useKarvonen = true; } // 4. Calculate Max Heart Rate (Standard Formula: 220 – Age) var maxHr = 220 – age; var hrr = 0; // Heart Rate Reserve if (useKarvonen) { hrr = maxHr – rhr; } else { // If no RHR provided, HRR isn't really used for calculation, // but we calculate zones based on straight % of Max HR. hrr = maxHr; // Simplification for display logic, though formula differs } // 5. Update Summary Display document.getElementById('dispMHR').innerText = maxHr + " BPM"; if (useKarvonen) { document.getElementById('dispHRR').innerText = hrr + " BPM"; } else { document.getElementById('dispHRR').innerText = "N/A (No RHR)"; } // 6. Define Zones Data // Zones: 1 (50-60), 2 (60-70), 3 (70-80), 4 (80-90), 5 (90-100) var zones = [ { pctMin: 0.50, pctMax: 0.60, name: "Zone 1 (Very Light)", benefit: "Warm up, Recovery", css: "zone-1" }, { pctMin: 0.60, pctMax: 0.70, name: "Zone 2 (Light)", benefit: "Fat Burn, Endurance", css: "zone-2" }, { pctMin: 0.70, pctMax: 0.80, name: "Zone 3 (Moderate)", benefit: "Aerobic Capacity", css: "zone-3" }, { pctMin: 0.80, pctMax: 0.90, name: "Zone 4 (Hard)", benefit: "Anaerobic Threshold", css: "zone-4" }, { pctMin: 0.90, pctMax: 1.00, name: "Zone 5 (Maximum)", benefit: "Peak Performance", css: "zone-5" } ]; var tableHtml = ""; // 7. Calculate and Build Table for (var i = 0; i < zones.length; i++) { var z = zones[i]; var minBpm, maxBpm; if (useKarvonen) { // Karvonen: Target = ((Max – Resting) * %) + Resting minBpm = Math.round((hrr * z.pctMin) + rhr); maxBpm = Math.round((hrr * z.pctMax) + rhr); } else { // Standard: Target = Max * % minBpm = Math.round(maxHr * z.pctMin); maxBpm = Math.round(maxHr * z.pctMax); } tableHtml += ""; tableHtml += "" + z.name + ""; tableHtml += "" + minBpm + " – " + maxBpm + " bpm"; tableHtml += "" + z.benefit + ""; tableHtml += ""; } document.getElementById('zonesTableBody').innerHTML = tableHtml; // 8. Show Results resultsDiv.style.display = "block"; // Scroll to results on mobile resultsDiv.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }

Leave a Comment