Recovery Run Heart Rate Calculator

.recovery-calc-container { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; max-width: 600px; margin: 20px auto; padding: 25px; border: 1px solid #e0e0e0; border-radius: 12px; background-color: #ffffff; box-shadow: 0 4px 6px rgba(0,0,0,0.05); } .recovery-calc-container h2 { color: #1a1a1a; margin-top: 0; text-align: center; font-size: 24px; } .recovery-calc-form-group { margin-bottom: 20px; } .recovery-calc-form-group label { display: block; margin-bottom: 8px; font-weight: 600; color: #333; } .recovery-calc-form-group input { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 6px; box-sizing: border-box; font-size: 16px; } .recovery-calc-button { width: 100%; background-color: #0073aa; color: white; padding: 14px; border: none; border-radius: 6px; font-size: 18px; font-weight: bold; cursor: pointer; transition: background-color 0.2s; } .recovery-calc-button:hover { background-color: #005177; } #recovery-calc-result { margin-top: 25px; padding: 20px; border-radius: 8px; background-color: #f0f7ff; display: none; } .result-title { font-weight: bold; color: #0073aa; font-size: 18px; margin-bottom: 10px; display: block; } .result-value { font-size: 28px; font-weight: 800; color: #222; display: block; margin: 10px 0; } .recovery-calc-info { margin-top: 30px; line-height: 1.6; color: #444; } .recovery-calc-info h3 { color: #1a1a1a; border-bottom: 2px solid #0073aa; padding-bottom: 5px; } .recovery-calc-info table { width: 100%; border-collapse: collapse; margin: 15px 0; } .recovery-calc-info th, .recovery-calc-info td { border: 1px solid #ddd; padding: 10px; text-align: left; } .recovery-calc-info th { background-color: #f8f8f8; }

Recovery Run Heart Rate Calculator

If unknown, use 220 minus your age.
Measured while sitting quietly.
Target Recovery Heart Rate Range:

What is a Recovery Run?

A recovery run is a relatively short, slow-paced run performed within 24 hours of a hard workout (like a long run or speed session). The primary goal is to add aerobic volume without stressing the body, facilitating blood flow to muscles to aid repair.

How to Calculate Recovery Heart Rate

This calculator uses the Karvonen Formula (Heart Rate Reserve), which is more accurate than simple percentages because it accounts for your individual fitness level (Resting HR).

The Math:

  • Heart Rate Reserve (HRR) = Max HR – Resting HR
  • Low End (60%): (HRR × 0.60) + Resting HR
  • High End (70%): (HRR × 0.70) + Resting HR

Typical Heart Rate Zones for Runners

Zone Intensity Purpose
Zone 1 60% – 70% HRR Recovery / Easy
Zone 2 70% – 80% HRR Aerobic / Endurance
Zone 3 80% – 90% HRR Threshold / Tempo

Example Calculation

If a runner has a Max HR of 190 and a Resting HR of 50:

  1. HRR = 190 – 50 = 140
  2. 60% Zone: (140 * 0.60) + 50 = 134 bpm
  3. 70% Zone: (140 * 0.70) + 50 = 148 bpm
  4. Recovery Range: 134 – 148 BPM

Note: If you are doing a "True Recovery" run, staying closer to the 60% mark (or even lower) is often more beneficial than pushing toward the 70% limit.

function calculateRecoveryZone() { var maxHr = document.getElementById('max_hr').value; var restHr = document.getElementById('rest_hr').value; var resultDiv = document.getElementById('recovery-calc-result'); var outputSpan = document.getElementById('hr_range_output'); var notePara = document.getElementById('hr_method_note'); // Reset display resultDiv.style.display = 'none'; var m = parseFloat(maxHr); var r = parseFloat(restHr); if (isNaN(m) || m <= 0) { alert('Please enter a valid Maximum Heart Rate.'); return; } var lowEnd, highEnd; if (isNaN(r) || r <= 0) { // Fallback to simple Max HR percentage if Resting HR isn't provided lowEnd = Math.round(m * 0.60); highEnd = Math.round(m * 0.70); notePara.innerText = "Calculation based on simple % of Max HR. (Add Resting HR for more accuracy)."; } else { // Karvonen Formula var hrr = m – r; if (hrr <= 0) { alert('Max Heart Rate must be higher than Resting Heart Rate.'); return; } lowEnd = Math.round((hrr * 0.60) + r); highEnd = Math.round((hrr * 0.70) + r); notePara.innerText = "Calculation based on Karvonen Formula (Heart Rate Reserve)."; } outputSpan.innerText = lowEnd + " – " + highEnd + " BPM"; resultDiv.style.display = 'block'; // Smooth scroll to result resultDiv.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }

Leave a Comment