Fox Formula (Standard: 220 – Age)
Tanaka Formula (208 – 0.7 × Age)
Gulati Formula (Women: 206 – 0.88 × Age)
Gellish Formula (207 – 0.7 × Age)
Estimated Maximum Heart Rate (MHR)
— BPM
Based on the formula.
Training Zones (Beats Per Minute)
Zone
Intensity (%)
Range (BPM)
Benefit
Understanding Age-Predicted Max Heart Rate
Calculating your age-predicted maximum heart rate (MHR) is a fundamental step in establishing safe and effective cardiovascular training zones. Your MHR represents the highest number of beats per minute (BPM) your heart can achieve during maximum physical exertion. While a clinical stress test is the gold standard for determination, mathematical formulas provide a practical estimate for the general population.
The Formulas Explained
There is no single "perfect" formula for everyone, but several variations exist to account for age, gender, and statistical precision:
Fox Formula (220 – Age): The most widely recognized formula. It is simple to calculate but tends to overestimate MHR in younger people and underestimate it in older adults.
Tanaka Formula (208 – 0.7 × Age): Considered more accurate for healthy adults of varying ages. It smoothens the decline of HR max as we age.
Gulati Formula (206 – 0.88 × Age): Specifically developed for women, as research suggests the standard formulas often overestimate MHR for females.
Gellish Formula (207 – 0.7 × Age): Another regression-based formula that offers a linear relationship similar to Tanaka but with slight adjustments for middle-aged individuals.
Using Heart Rate Zones for Training
Once you have calculated your Max Heart Rate, you can define training zones to target specific physiological adaptations:
Zone 1 (50-60%): Very light intensity. Used for warm-ups and active recovery.
Zone 2 (60-70%): Light intensity. The "fat burning" zone, excellent for building endurance and basic aerobic capacity.
Zone 3 (70-80%): Moderate intensity. Improves aerobic fitness and blood circulation efficiency.
Zone 4 (80-90%): Hard intensity. Increases anaerobic tolerance and high-speed endurance.
Zone 5 (90-100%): Maximum intensity. Develops peak performance and speed, sustainable only for short bursts.
Factors Influencing Max Heart Rate
It is important to remember that these calculations are estimates. Genetics play the largest role in determining your actual MHR. Contrary to popular belief, a higher MHR does not necessarily indicate better fitness, nor does it significantly decline just because fitness improves. However, your resting heart rate will typically lower as your cardiovascular health increases.
function calculateMaxHR() {
// 1. Get input values
var ageInput = document.getElementById('calcAge');
var formulaSelect = document.getElementById('calcFormula');
var resultBox = document.getElementById('hrResult');
var displayMHR = document.getElementById('displayMHR');
var formulaNameDisplay = document.getElementById('formulaNameDisplay');
var zonesTableBody = document.getElementById('zonesTableBody');
var age = parseFloat(ageInput.value);
var formula = formulaSelect.value;
// 2. Validation
if (isNaN(age) || age 120) {
alert("Please enter a valid age between 1 and 120.");
return;
}
// 3. Calculation Logic
var maxHR = 0;
var formulaName = "";
if (formula === 'fox') {
// Standard: 220 – Age
maxHR = 220 – age;
formulaName = "Fox (Standard)";
} else if (formula === 'tanaka') {
// Tanaka: 208 – (0.7 * Age)
maxHR = 208 – (0.7 * age);
formulaName = "Tanaka";
} else if (formula === 'gulati') {
// Gulati: 206 – (0.88 * Age)
maxHR = 206 – (0.88 * age);
formulaName = "Gulati (Women's)";
} else if (formula === 'gellish') {
// Gellish: 207 – (0.7 * Age)
maxHR = 207 – (0.7 * age);
formulaName = "Gellish";
}
// Round to nearest whole number for display
maxHR = Math.round(maxHR);
// 4. Calculate Zones
// Zone 1: 50-60%
var z1_min = Math.round(maxHR * 0.50);
var z1_max = Math.round(maxHR * 0.60);
// Zone 2: 60-70%
var z2_min = Math.round(maxHR * 0.60);
var z2_max = Math.round(maxHR * 0.70);
// Zone 3: 70-80%
var z3_min = Math.round(maxHR * 0.70);
var z3_max = Math.round(maxHR * 0.80);
// Zone 4: 80-90%
var z4_min = Math.round(maxHR * 0.80);
var z4_max = Math.round(maxHR * 0.90);
// Zone 5: 90-100%
var z5_min = Math.round(maxHR * 0.90);
var z5_max = maxHR;
// 5. Update DOM
displayMHR.innerHTML = maxHR + " BPM";
formulaNameDisplay.innerHTML = formulaName;
// Generate Table HTML
var tableHTML = ";
tableHTML += '