How to Calculate Heart Rate While Exercising

.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 #e1e4e8; border-radius: 12px; background-color: #ffffff; box-shadow: 0 4px 6px rgba(0,0,0,0.05); } .hr-calc-header { text-align: center; margin-bottom: 25px; } .hr-calc-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, .hr-input-group select { padding: 12px; border: 2px solid #ddd; border-radius: 6px; font-size: 16px; transition: border-color 0.3s; } .hr-input-group input:focus { border-color: #e63946; outline: none; } .hr-calc-button { grid-column: span 2; background-color: #e63946; color: white; border: none; padding: 15px; font-size: 18px; font-weight: bold; border-radius: 6px; cursor: pointer; transition: background-color 0.3s; } .hr-calc-button:hover { background-color: #c1121f; } .hr-results { margin-top: 25px; padding: 20px; background-color: #f8f9fa; border-radius: 8px; display: none; } .hr-results h3 { margin-top: 0; color: #e63946; } .zone-table { width: 100%; border-collapse: collapse; margin-top: 15px; } .zone-table th, .zone-table td { padding: 10px; text-align: left; border-bottom: 1px solid #dee2e6; } .zone-row-1 { background-color: #e9ecef; } .zone-row-2 { background-color: #d1e7dd; } .zone-row-3 { background-color: #fff3cd; } .zone-row-4 { background-color: #ffe5d9; } .zone-row-5 { background-color: #f8d7da; } @media (max-width: 600px) { .hr-calc-grid { grid-template-columns: 1fr; } .hr-calc-button { grid-column: span 1; } }

Target Heart Rate Calculator

Calculate your optimal exercise intensity using the Karvonen Formula.

70%

Your Personalized Results

Estimated Max Heart Rate: BPM

Heart Rate Reserve: BPM

Target HR at % Intensity: BPM

Training Intensity Zones

Zone Intensity Range (BPM)

How to Calculate Heart Rate While Exercising

Understanding your heart rate during physical activity is the most effective way to gauge exercise intensity and ensure you are working toward your specific fitness goals—whether that is weight loss, cardiovascular endurance, or peak athletic performance.

The Karvonen Formula: A More Accurate Method

While the standard "220 minus age" formula is a quick estimate, the Karvonen Formula is considered more accurate by sports scientists because it factors in your Resting Heart Rate (RHR). This accounts for your current fitness level.

The calculation follows these steps:

  1. Calculate Max HR: 220 – Age.
  2. Calculate Heart Rate Reserve (HRR): Max HR – Resting HR.
  3. Calculate Target HR: (HRR × % Intensity) + Resting HR.

Example Calculation

If you are 40 years old with a resting heart rate of 60 BPM and you want to exercise at 70% intensity:

  • Max HR = 220 – 40 = 180 BPM
  • HRR = 180 – 60 = 120 BPM
  • Target HR = (120 × 0.70) + 60 = 144 BPM

Understanding Heart Rate Zones

Different intensity levels trigger different physiological responses in the body:

  • Zone 1 (50-60%): Very Light. Ideal for warm-ups, cool-downs, and active recovery.
  • Zone 2 (60-70%): Light. The "fat-burning" zone. Increases metabolic efficiency and aerobic base.
  • Zone 3 (70-80%): Moderate. Improves cardiovascular endurance and strengthens the heart.
  • Zone 4 (80-90%): Hard. Increases anaerobic capacity and speed.
  • Zone 5 (90-100%): Maximum. Improves top-end power and sprint performance. Should be used sparingly.

How to Measure Your Heart Rate Manually

If you don't have a heart rate monitor or smartwatch, you can check your pulse manually:

  1. Find your pulse on the thumb side of your wrist (radial pulse) or your neck (carotid pulse).
  2. Use your index and middle fingers, not your thumb.
  3. Count the beats for 15 seconds.
  4. Multiply that number by 4 to get your Beats Per Minute (BPM).
function calculateHeartRate() { var age = parseFloat(document.getElementById('hrAge').value); var rhr = parseFloat(document.getElementById('hrResting').value); var intensity = parseFloat(document.getElementById('hrIntensity').value); var resultsDiv = document.getElementById('hrResults'); if (isNaN(age) || age 120) { alert("Please enter a valid age."); return; } if (isNaN(rhr) || rhr 200) { alert("Please enter a valid resting heart rate."); return; } var maxHR = 220 – age; var hrr = maxHR – rhr; if (hrr <= 0) { alert("Resting heart rate cannot be higher than maximum heart rate. Please check your inputs."); return; } var targetHR = Math.round((hrr * (intensity / 100)) + rhr); document.getElementById('resMaxHR').innerText = maxHR; document.getElementById('resHRR').innerText = hrr; document.getElementById('resPerc').innerText = intensity; document.getElementById('resTarget').innerText = targetHR; // Generate Zones var zones = [ { name: "Zone 1 (Recovery)", min: 0.50, max: 0.60, class: "zone-row-1" }, { name: "Zone 2 (Fat Burn)", min: 0.60, max: 0.70, class: "zone-row-2" }, { name: "Zone 3 (Aerobic)", min: 0.70, max: 0.80, class: "zone-row-3" }, { name: "Zone 4 (Anaerobic)", min: 0.80, max: 0.90, class: "zone-row-4" }, { name: "Zone 5 (VO2 Max)", min: 0.90, max: 1.00, class: "zone-row-5" } ]; var zoneBody = document.getElementById('zoneBody'); zoneBody.innerHTML = ""; for (var i = 0; i < zones.length; i++) { var zoneMinHR = Math.round((hrr * zones[i].min) + rhr); var zoneMaxHR = Math.round((hrr * zones[i].max) + rhr); var row = document.createElement('tr'); row.className = zones[i].class; row.innerHTML = "" + zones[i].name + "" + "" + (zones[i].min * 100) + "-" + (zones[i].max * 100) + "%" + "" + zoneMinHR + " – " + zoneMaxHR + " BPM"; zoneBody.appendChild(row); } resultsDiv.style.display = "block"; resultsDiv.scrollIntoView({ behavior: 'smooth' }); }

Leave a Comment