Threshold Heart Rate Calculator Running

Running Threshold Heart Rate Calculator body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; color: #333; max-width: 1200px; margin: 0 auto; padding: 20px; } .calculator-container { background: #f9fbfd; border: 1px solid #e1e4e8; border-radius: 8px; padding: 30px; margin-bottom: 40px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); } .calc-header { text-align: center; margin-bottom: 25px; color: #2c3e50; } .form-group { margin-bottom: 20px; } label { display: block; margin-bottom: 8px; font-weight: 600; color: #4a5568; } select, input[type="number"] { width: 100%; padding: 12px; border: 1px solid #cbd5e0; border-radius: 6px; font-size: 16px; box-sizing: border-box; transition: border-color 0.2s; } select:focus, input:focus { border-color: #3182ce; outline: none; box-shadow: 0 0 0 3px rgba(49, 130, 206, 0.1); } .calc-btn { background-color: #3182ce; color: white; border: none; padding: 15px 30px; font-size: 18px; font-weight: bold; border-radius: 6px; cursor: pointer; width: 100%; transition: background-color 0.2s; } .calc-btn:hover { background-color: #2b6cb0; } #results-area { display: none; margin-top: 30px; background: white; padding: 25px; border-radius: 8px; border: 1px solid #e2e8f0; } .lthr-display { text-align: center; margin-bottom: 25px; padding-bottom: 20px; border-bottom: 2px solid #edf2f7; } .lthr-value { font-size: 42px; font-weight: 800; color: #2c5282; display: block; } .lthr-label { font-size: 14px; text-transform: uppercase; letter-spacing: 1px; color: #718096; } .zones-table { width: 100%; border-collapse: collapse; margin-top: 15px; } .zones-table th, .zones-table td { text-align: left; padding: 12px; border-bottom: 1px solid #e2e8f0; } .zones-table th { background-color: #f7fafc; font-weight: 600; color: #4a5568; } .zone-row-1 { border-left: 5px solid #a0aec0; } /* Grey */ .zone-row-2 { border-left: 5px solid #48bb78; } /* Green */ .zone-row-3 { border-left: 5px solid #ecc94b; } /* Yellow */ .zone-row-4 { border-left: 5px solid #ed8936; } /* Orange */ .zone-row-5 { border-left: 5px solid #f56565; } /* Red */ .article-content { margin-top: 50px; color: #2d3748; } .article-content h2 { color: #2c3e50; margin-top: 30px; } .article-content h3 { color: #4a5568; } .info-box { background-color: #ebf8ff; border-left: 4px solid #4299e1; padding: 15px; margin: 20px 0; font-size: 0.95em; } .method-toggle { display: flex; gap: 15px; margin-bottom: 20px; } .toggle-opt { display: flex; align-items: center; cursor: pointer; } .toggle-opt input { width: auto; margin-right: 8px; }

Running Threshold Heart Rate Calculator

Calculate your Lactate Threshold Heart Rate (LTHR) and Training Zones

I have 30-min Time Trial Data (Most Accurate) Estimate based on Age (Approximation)
Enter the average BPM from the final 20 minutes of a solo 30-minute all-out effort.
Beginner / Untrained Recreational Runner (Average) Competitive Runner Elite Athlete Estimates LTHR as a percentage of your calculated Max HR (Tanaka Formula).
Your Lactate Threshold Heart Rate (LTHR) — bpm

Your Running Training Zones (Joe Friel System)

Zone Name Range (BPM) Description

What is Threshold Heart Rate for Running?

Threshold Heart Rate, often referred to as Lactate Threshold Heart Rate (LTHR), is the specific heart rate intensity at which lactate begins to accumulate in the bloodstream faster than your body can remove it. For runners, this is arguably the most critical metric for defining training zones.

Unlike Max Heart Rate, which is genetic and doesn't change much with fitness, your LTHR changes as you become fitter. A higher LTHR allows you to run faster for longer periods before fatigue sets in. This calculator uses the standard Joe Friel 7-Zone system designed specifically for running, which provides more granularity than generic 5-zone models.

The Gold Standard Test: The most accurate way to find your LTHR without a lab is the 30-Minute Time Trial. Run alone on a flat course as hard as you can sustain for 30 minutes. Your LTHR is the average heart rate of the last 20 minutes of that run.

Understanding the Running Zones

Training at the correct intensity ensures you aren't running "junk miles"—too fast for recovery but too slow to produce physiological adaptations. Here is how the zones break down:

  • Zone 1 (Recovery): Very easy effort used for warm-ups, cool-downs, and active recovery runs.
  • Zone 2 (Aerobic): The foundation of endurance. You should be able to hold a conversation. Most of your weekly mileage should be here.
  • Zone 3 (Tempo): "Comfortably hard." Requires focus to maintain but isn't an all-out sprint. Good for marathon prep.
  • Zone 4 (Sub-Threshold): Just below your red line. Used to push up your lactate threshold.
  • Zone 5a (Super-Threshold): Slightly above threshold. Sustainable for only short durations (intervals).
  • Zone 5b (Aerobic Capacity): VO2 Max territory. Very hard breathing, sustainable for minutes only.
  • Zone 5c (Anaerobic Capacity): Sprinting power. Neuromuscular training.

Why Not Use Just Age?

While our calculator offers an age-based estimation, it is a statistical average. The "220 minus age" or "Tanaka" formulas calculate Maximum Heart Rate, not Threshold. While we can estimate Threshold as roughly 90% of Max for an average runner, individual variance is huge.

For example, two 40-year-old runners might both have a Max HR of 180. However, the trained runner might have an LTHR of 170 (94% of max), while the beginner might have an LTHR of 153 (85% of max). Using the Field Test method ensures your zones are customized to your current physiology.

How to Use These Numbers

  1. Perform the 30-minute solo time trial to get your input number.
  2. Input the average heart rate from the last 20 minutes above.
  3. Set these zones on your GPS watch (Garmin, Coros, Polar, etc.).
  4. Retest every 6-8 weeks, as your LTHR will likely increase with fitness.
function toggleInputs() { var method = document.getElementById('calcMethod').value; var testSection = document.getElementById('input-test-section'); var ageSection = document.getElementById('input-age-section'); if (method === 'test') { testSection.style.display = 'block'; ageSection.style.display = 'none'; } else { testSection.style.display = 'none'; ageSection.style.display = 'block'; } // Hide results when switching methods to avoid confusion document.getElementById('results-area').style.display = 'none'; } function calculateRunningZones() { var method = document.getElementById('calcMethod').value; var lthr = 0; if (method === 'test') { var inputHr = document.getElementById('avgHrTest').value; if (!inputHr || inputHr 250) { alert("Please enter a valid Average Heart Rate (between 30 and 250 bpm)."); return; } lthr = parseFloat(inputHr); } else { var age = document.getElementById('runnerAge').value; var fitnessFactor = document.getElementById('fitnessLevel').value; if (!age || age 120) { alert("Please enter a valid age."); return; } // Tanaka Formula for Max HR var maxHr = 208 – (0.7 * parseFloat(age)); // Estimate LTHR based on fitness level percentage of Max HR lthr = Math.round(maxHr * parseFloat(fitnessFactor)); } // Display LTHR lthr = Math.round(lthr); document.getElementById('lthrResult').innerText = lthr + " bpm"; // Calculate Friel Running Zones // Zone 1: 106% var z1_upper = Math.floor(lthr * 0.85) – 1; var z2_lower = Math.floor(lthr * 0.85); var z2_upper = Math.floor(lthr * 0.89); var z3_lower = Math.floor(lthr * 0.90); var z3_upper = Math.floor(lthr * 0.94); var z4_lower = Math.floor(lthr * 0.95); var z4_upper = Math.floor(lthr * 0.99); var z5a_lower = lthr; // 100% var z5a_upper = Math.floor(lthr * 1.02); var z5b_lower = Math.floor(lthr * 1.03); var z5b_upper = Math.floor(lthr * 1.06); var z5c_lower = Math.floor(lthr * 1.07); var zonesHTML = ` Zone 1 Recovery < ${z2_lower} Easy warm-up / cool-down Zone 2 Aerobic ${z2_lower} – ${z2_upper} Long slow distance, endurance Zone 3 Tempo ${z3_lower} – ${z3_upper} Moderate effort, marathon pace Zone 4 Sub-Threshold ${z4_lower} – ${z4_upper} Hard, sustainable effort Zone 5a Super-Threshold ${z5a_lower} – ${z5a_upper} VO2 intervals, fast pace Zone 5b Aerobic Capacity ${z5b_lower} – ${z5b_upper} Very hard short intervals Zone 5c Anaerobic > ${z5c_lower} Sprinting / Max power `; document.getElementById('zonesBody').innerHTML = zonesHTML; document.getElementById('results-area').style.display = 'block'; }

Leave a Comment