Better for healthy adults ($208 – 0.7 \times Age$)
Gulati Formula (Women Specific)
— bpm
Optimized for women ($206 – 0.88 \times Age$)
Target Heart Rate Training Zones
Based on Tanaka MHR:
Zone
Intensity
Range (bpm)
How Is Your Maximum Heart Rate Calculated?
Understanding your Maximum Heart Rate (MHR) is crucial for defining effective training zones, whether you are an elite athlete or just starting a fitness journey. While a clinical stress test is the most accurate method to determine MHR, several mathematical formulas provide reliable estimates based on age and gender.
1. The Fox Formula (The Standard Standard)
For decades, the most common way to calculate maximum heart rate has been the simplistic calculation created by Dr. William Haskell and Dr. Samuel Fox in 1970.
MHR = 220 – Age
Example: If you are 40 years old, your estimated MHR is 220 – 40 = 180 bpm.
While easy to remember, this formula has been criticized for being too generalized and potentially inaccurate for older adults or highly fit individuals.
2. The Tanaka Formula (The Modern Standard)
Published in 2001, a study of over 18,000 subjects led to the Tanaka equation. This formula is widely considered more accurate than the Fox formula for healthy adults across a wide range of ages.
MHR = 208 – (0.7 × Age)
Example: For a 40-year-old: 208 – (0.7 × 40) = 208 – 28 = 180 bpm.
Example: For a 60-year-old: 208 – (0.7 × 60) = 208 – 42 = 166 bpm (Compared to 160 bpm using the Fox formula).
3. The Gulati Formula (For Women)
Research published in 2010 suggested that the traditional calculation ($220 – Age$) often overestimates maximum heart rate in women. The Gulati formula provides a more specific estimation for females.
MHR = 206 – (0.88 × Age)
Using gender-specific logic ensures that target heart rate zones are not set dangerously high or ineffectively low.
Understanding Heart Rate Zones
Once you have calculated your MHR, you can utilize it to determine your training zones. These are percentages of your maximum capacity:
Zone 1 (50-60%): Very Light. improves overall health and helps recovery.
Zone 2 (60-70%): Light. Basic endurance and fat burning.
Zone 3 (70-80%): Moderate. Improves aerobic fitness.
Zone 4 (80-90%): Hard. Increases maximum performance capacity.
Zone 5 (90-100%): Maximum. Develops maximum speed and sprinting ability.
Disclaimer: These calculations are estimates. Always consult a physician before starting a new exercise program, especially if you have a history of heart conditions.
function calculateHeartRate() {
// 1. Get Inputs
var ageInput = document.getElementById('calcAge');
var genderInput = document.getElementById('calcGender');
var resultsArea = document.getElementById('resultsArea');
var genderResultCard = document.getElementById('genderSpecificResult');
var tableBody = document.getElementById('zoneTableBody');
var age = parseFloat(ageInput.value);
var gender = genderInput.value;
// 2. Validation
if (isNaN(age) || age 120) {
alert("Please enter a valid age between 1 and 120.");
return;
}
// 3. Calculate Formulas
// Fox Formula: 220 – Age
var foxMHR = 220 – age;
// Tanaka Formula: 208 – (0.7 * Age)
var tanakaMHR = 208 – (0.7 * age);
// Round values
foxMHR = Math.round(foxMHR);
tanakaMHR = Math.round(tanakaMHR);
// Gulati Formula (Women): 206 – (0.88 * Age)
var gulatiMHR = 0;
if (gender === 'female') {
gulatiMHR = 206 – (0.88 * age);
gulatiMHR = Math.round(gulatiMHR);
}
// 4. Update UI Values
document.getElementById('resFox').innerText = foxMHR + " bpm";
document.getElementById('resTanaka').innerText = tanakaMHR + " bpm";
if (gender === 'female') {
genderResultCard.style.display = 'block';
document.getElementById('resGulati').innerText = gulatiMHR + " bpm";
} else {
genderResultCard.style.display = 'none';
}
// 5. Generate Zones (Using Tanaka as base)
var baseMHR = tanakaMHR; // Defaulting to Tanaka as it's generally more accurate
// Clear previous table rows
tableBody.innerHTML = ";
var zones = [
{ name: "Zone 1 (Warm up)", pct: "50-60%", colorClass: "zone-row-1", min: 0.50, max: 0.60 },
{ name: "Zone 2 (Fat Burn)", pct: "60-70%", colorClass: "zone-row-2", min: 0.60, max: 0.70 },
{ name: "Zone 3 (Aerobic)", pct: "70-80%", colorClass: "zone-row-3", min: 0.70, max: 0.80 },
{ name: "Zone 4 (Anaerobic)", pct: "80-90%", colorClass: "zone-row-4", min: 0.80, max: 0.90 },
{ name: "Zone 5 (VO2 Max)", pct: "90-100%", colorClass: "zone-row-5", min: 0.90, max: 1.00 }
];
for (var i = 0; i < zones.length; i++) {
var z = zones[i];
var minBpm = Math.round(baseMHR * z.min);
var maxBpm = Math.round(baseMHR * z.max);
var row = '
' +
'
' + z.name + '
' +
'
' + z.pct + '
' +
'
' + minBpm + ' – ' + maxBpm + ' bpm
' +
'
';
tableBody.innerHTML += row;
}
// Show results
resultsArea.style.display = 'block';
// Scroll to results
resultsArea.scrollIntoView({behavior: "smooth"});
}