Tanaka (208 – 0.7 × Age) – Recommended
Fox (220 – Age) – Traditional
Gulati (206 – 0.88 × Age) – Women Specific
Gellish (207 – 0.7 × Age)
Your Estimated Maximum Heart Rate:
— bpmBeats Per Minute
Target Heart Rate Training Zones
Zone
Intensity (%)
Range (bpm)
Benefit
How is the Maximum Heart Rate Calculated?
Calculating your Maximum Heart Rate (MHR) is a fundamental step in designing an effective cardiovascular training program. Your MHR represents the fastest rate at which your heart can beat for one minute under maximum exertion. While the only way to determine your absolute true maximum is through a medically supervised cardiac stress test, several mathematical formulas provide accurate estimates suitable for general fitness.
1. The Fox Formula (The Traditional Method)
For decades, the standard formula used in gyms and medical charts was arguably the simplest:
MHR = 220 – Age
While easy to calculate mentally, research suggests this formula has a high standard of deviation (±12 beats per minute) and often underestimates MHR in older adults while overestimating it in younger individuals.
2. The Tanaka Formula (The Modern Standard)
Published in 2001, the Tanaka equation is widely considered more accurate across a broader range of ages. It accounts for the non-linear decline of heart rate as we age.
MHR = 208 – (0.7 × Age)
For a 40-year-old, the Tanaka formula calculates an MHR of 180 bpm, whereas the Fox formula would suggest 180 bpm. The divergence becomes more apparent at the extremes of age.
3. The Gulati Formula (Gender Specific)
Research led by Dr. Martha Gulati discovered that the traditional formulas often overestimated maximum heart rate in women. Consequently, a gender-specific formula was developed to provide a safer and more accurate baseline for female athletes:
MHR = 206 – (0.88 × Age)
Understanding Heart Rate Zones
Once you have calculated your MHR, you can determine your training zones. These zones help target specific metabolic pathways:
Zone 1 (Very Light, 50-60%): Good for recovery, warming up, and cooling down.
Zone 2 (Light, 60-70%): Ideally suited for endurance training and fat oxidation.
Zone 3 (Moderate, 70-80%): Improves aerobic capacity and blood circulation.
Zone 4 (Hard, 80-90%): Increases anaerobic threshold and speed endurance.
Zone 5 (Maximum, 90-100%): Develops maximum performance and speed, sustainable only for short bursts.
Safety Considerations
Please note that these calculations are estimates. Genetics, medications (like beta-blockers), and fitness levels can significantly alter your actual maximum heart rate. Always consult a physician before beginning high-intensity interval training (HIIT) or testing your maximum limits.
function calculateHeartRate() {
// Get Inputs
var ageInput = document.getElementById("calcAge");
var genderSelect = document.getElementById("calcGender");
var formulaSelect = document.getElementById("calcFormula");
var resultContainer = document.getElementById("resultContainer");
var mhrDisplay = document.getElementById("mhrDisplay");
var zonesBody = document.getElementById("zonesBody");
var ageError = document.getElementById("ageError");
// Parse Age
var age = parseInt(ageInput.value);
// Validation
if (isNaN(age) || age 120) {
ageError.style.display = "block";
resultContainer.style.display = "none";
return;
} else {
ageError.style.display = "none";
}
var gender = genderSelect.value;
var formula = formulaSelect.value;
var mhr = 0;
// Calculate MHR based on selected formula
if (formula === "fox") {
mhr = 220 – age;
} else if (formula === "tanaka") {
mhr = 208 – (0.7 * age);
} else if (formula === "gellish") {
mhr = 207 – (0.7 * age);
} else if (formula === "gulati") {
// Gulati is specifically for women, but we calculate it if selected regardless of gender input,
// though logically it applies to women.
mhr = 206 – (0.88 * age);
}
// Round MHR to nearest whole number
mhr = Math.round(mhr);
// Display MHR
mhrDisplay.innerHTML = mhr + " bpm";
resultContainer.style.display = "block";
// Calculate Zones
// Zone 1: 50-60%
// Zone 2: 60-70%
// Zone 3: 70-80%
// Zone 4: 80-90%
// Zone 5: 90-100%
var zones = [
{ name: "Zone 5 (Maximum)", minPct: 0.90, maxPct: 1.00, benefit: "Maximum Performance / Speed" },
{ name: "Zone 4 (Hard)", minPct: 0.80, maxPct: 0.90, benefit: "Anaerobic Capacity" },
{ name: "Zone 3 (Moderate)", minPct: 0.70, maxPct: 0.80, benefit: "Aerobic Fitness" },
{ name: "Zone 2 (Light)", minPct: 0.60, maxPct: 0.70, benefit: "Fat Burning / Endurance" },
{ name: "Zone 1 (Very Light)", minPct: 0.50, maxPct: 0.60, benefit: "Warm up / Recovery" }
];
var htmlRows = "";
for (var i = 0; i < zones.length; i++) {
var z = zones[i];
var minRate = Math.round(mhr * z.minPct);
var maxRate = Math.round(mhr * z.maxPct);
var percentageStr = (z.minPct * 100) + "-" + (z.maxPct * 100) + "%";
htmlRows += "