Measure this in the morning before getting out of bed for accuracy.
Estimated Max Heart Rate: bpm
Heart Rate Reserve: bpm
Your Personal Training Zones
Zone
Intensity
Heart Rate Range (bpm)
Benefit
What Should My Heart Rate Be While Running?
Determine the optimal intensity for your runs is crucial for improving endurance, burning fat, and preventing injury. Unlike generic fitness advice, running heart rate training relies on specific biological markers: your Maximum Heart Rate (MHR) and your Resting Heart Rate (RHR).
Why Monitor Heart Rate While Running?
Running by "feel" (Rate of Perceived Exertion) is useful, but heart rate data provides objective feedback. It ensures you aren't running too hard on easy days (a common mistake) or too easy on hard days. By staying in specific zones, you target different physiological systems.
The Karvonen Formula vs. Standard Formula
Most basic calculators use the standard 220 - Age formula to find Max HR, and then take simple percentages of that number. However, this calculator uses the Karvonen Method, which is widely considered more accurate for athletes.
The Karvonen formula incorporates your Resting Heart Rate to determine your Heart Rate Reserve (HRR). This accounts for your fitness level. The formula is:
Zone 1 (50-60%): Recovery. Very easy effort, usually for warm-ups, cool-downs, or active recovery runs. Helps blood flow and muscle repair.
Zone 2 (60-70%): Aerobic Base. This is the "sweet spot" for distance runners. It builds mitochondrial density and teaches your body to burn fat as fuel. You should be able to hold a conversation easily.
Zone 3 (70-80%): Aerobic/Tempo. Moderate intensity. Used for tempo runs to improve aerobic capacity and blood circulation efficiency.
Zone 4 (80-90%): Threshold. Hard effort. This pushes your lactate threshold (the point where muscles fatigue rapidly). Training here helps you sustain faster speeds for longer.
Zone 5 (90-100%): VO2 Max. Maximum effort. Sprints or short intervals. Improves the maximum amount of oxygen your body can utilize.
Factors Affecting Heart Rate
Keep in mind that factors such as heat, humidity, dehydration, caffeine intake, and lack of sleep can elevate your heart rate (cardiac drift). If your heart rate is 5-10 beats higher than normal for the same pace, consider slowing down or hydrating.
function calculateRunningZones() {
// Get inputs
var ageInput = document.getElementById('runnerAge').value;
var rhrInput = document.getElementById('restingHR').value;
var resultDiv = document.getElementById('hrResult');
var errorDiv = document.getElementById('errorMsg');
var tableBody = document.getElementById('zoneTableBody');
// Clear previous errors/results
errorDiv.style.display = 'none';
resultDiv.style.display = 'none';
tableBody.innerHTML = ";
// Validation
if (!ageInput || !rhrInput) {
errorDiv.innerText = "Please enter both your Age and Resting Heart Rate.";
errorDiv.style.display = 'block';
return;
}
var age = parseFloat(ageInput);
var rhr = parseFloat(rhrInput);
if (isNaN(age) || age 100) {
errorDiv.innerText = "Please enter a valid age between 10 and 100.";
errorDiv.style.display = 'block';
return;
}
if (isNaN(rhr) || rhr 120) {
errorDiv.innerText = "Please enter a valid resting heart rate (typically 30-120 bpm).";
errorDiv.style.display = 'block';
return;
}
// Calculations
// Standard Max HR formula
var maxHR = 220 – age;
// Heart Rate Reserve (Karvonen)
var hrr = maxHR – rhr;
// Display Base Metrics
document.getElementById('displayMaxHR').innerText = Math.round(maxHR);
document.getElementById('displayHRR').innerText = Math.round(hrr);
// Define Zones Configuration
var zones = [
{ id: 1, minPct: 0.50, maxPct: 0.60, name: "Zone 1 (Recovery)", benefit: "Warm up, Cool down, Active Recovery" },
{ id: 2, minPct: 0.60, maxPct: 0.70, name: "Zone 2 (Aerobic Base)", benefit: "Fat Burning, Endurance Building" },
{ id: 3, minPct: 0.70, maxPct: 0.80, name: "Zone 3 (Tempo)", benefit: "Aerobic Capacity, Stamina" },
{ id: 4, minPct: 0.80, maxPct: 0.90, name: "Zone 4 (Threshold)", benefit: "Lactate Tolerance, High Speed Endurance" },
{ id: 5, minPct: 0.90, maxPct: 1.00, name: "Zone 5 (VO2 Max)", benefit: "Peak Performance, Speed" }
];
// Generate Table Rows
for (var i = 0; i < zones.length; i++) {
var zone = zones[i];
// Karvonen Formula: (HRR * %) + RHR
var minBpm = Math.round((hrr * zone.minPct) + rhr);
var maxBpm = Math.round((hrr * zone.maxPct) + rhr);
var row = "