Required for the more accurate Karvonen Method. Leave blank for Standard.
Tanaka (208 – 0.7 × Age) – Recommended
Fox / Standard (220 – Age) – Common
Gulati (206 – 0.88 × Age) – Women Specific
Gellish (207 – 0.7 × Age)
Estimated Maximum Heart Rate
0 BPM
Heart Rate Reserve (HRR)
0
Calculated using the Karvonen Method based on your resting heart rate.
Your Target Training Zones
Zone
Intensity
Target Range (BPM)
Benefit
How Do You Calculate Maximum Heart Rate for Exercise?
Calculating your Maximum Heart Rate (MHR) is the foundational step in creating an effective cardiovascular training program. Your MHR represents the highest number of beats per minute (BPM) your heart can achieve during maximum physical exertion. By knowing this number, you can determine specific heart rate zones to target different fitness goals, from fat burning to anaerobic endurance.
Common Formulas for Calculating MHR
While the most accurate way to determine MHR is a clinical stress test, several mathematical formulas provide reliable estimates based on age:
Fox Formula (220 – Age): This is the most traditional calculation. While easy to remember, it has been criticized for being less accurate for older adults and fit individuals.
Tanaka Formula (208 – (0.7 × Age)): Often considered more accurate than the Fox formula, specifically for healthy adults over a wide age range.
Gulati Formula (206 – (0.88 × Age)): Research suggests this formula is more accurate for women specifically, as the standard formulas often overestimate female MHR.
The Importance of Resting Heart Rate (Karvonen Method)
Simple percentages of your MHR can be misleading if you have a very high or very low fitness level. The Karvonen Method incorporates your Resting Heart Rate (RHR) to calculate your Heart Rate Reserve (HRR).
For example, a 40-year-old with a resting heart rate of 50 BPM creates a different training profile than a 40-year-old with a resting heart rate of 80 BPM, even if their theoretical max is the same. Our calculator automatically applies the Karvonen method if you input your resting heart rate.
Understanding Training Zones
Once you have your maximum heart rate, you can divide your training into five distinct zones:
Zone 1 (50-60%): Very light intensity. Used for warm-ups and recovery.
Zone 2 (60-70%): Light intensity. Improves basic endurance and fat burning.
Zone 3 (70-80%): Moderate intensity. Improves aerobic fitness and blood circulation efficiency.
Zone 4 (80-90%): Hard intensity. Increases speed endurance and anaerobic capacity.
Zone 5 (90-100%): Maximum intensity. Improves maximum sprint speed and neuromuscular system.
Safety Considerations
These calculations are estimates. Genetics, medication (like beta-blockers), and altitude can affect your actual heart rate. If you are new to exercise or have heart conditions, consult a physician before training at high intensities (Zones 4 and 5).
function calculateHeartRate() {
// 1. Get Input Values
var ageInput = document.getElementById('inputAge').value;
var rhrInput = document.getElementById('inputRestingHR').value;
var formula = document.getElementById('selectFormula').value;
// 2. Validate Age
if (!ageInput || ageInput 120) {
alert("Please enter a valid age between 10 and 120.");
return;
}
var age = parseFloat(ageInput);
var rhr = rhrInput ? parseFloat(rhrInput) : 0;
// 3. Calculate MHR based on formula
var mhr = 0;
if (formula === 'fox') {
mhr = 220 – age;
} else if (formula === 'tanaka') {
mhr = 208 – (0.7 * age);
} else if (formula === 'gulati') {
mhr = 206 – (0.88 * age);
} else if (formula === 'gellish') {
mhr = 207 – (0.7 * age);
}
mhr = Math.round(mhr);
// 4. Check valid RHR input
var useKarvonen = false;
if (rhr > 0 && rhr = mhr) {
alert("Resting Heart Rate cannot be higher than Maximum Heart Rate.");
return;
}
// 5. Display Main Results
document.getElementById('displayMHR').innerText = mhr;
document.getElementById('resultsArea').style.display = 'block';
if(useKarvonen) {
var hrr = mhr – rhr;
document.getElementById('karvonenNote').style.display = 'block';
document.getElementById('displayHRR').innerText = hrr + " BPM";
} else {
document.getElementById('karvonenNote').style.display = 'none';
}
// 6. Generate Zones Table
var zones = [
{ pctMin: 0.50, pctMax: 0.60, name: "Zone 1", desc: "Warm Up / Recovery", color: "#9e9e9e" },
{ pctMin: 0.60, pctMax: 0.70, name: "Zone 2", desc: "Fat Burn / Basic Endurance", color: "#4caf50" },
{ pctMin: 0.70, pctMax: 0.80, name: "Zone 3", desc: "Aerobic / Cardio", color: "#ff9800" },
{ pctMin: 0.80, pctMax: 0.90, name: "Zone 4", desc: "Anaerobic / Hard", color: "#f44336" },
{ pctMin: 0.90, pctMax: 1.00, name: "Zone 5", desc: "Maximum Effort", color: "#b71c1c" }
];
var tableBody = document.getElementById('zonesBody');
tableBody.innerHTML = ""; // Clear previous results
for (var i = 0; i < zones.length; i++) {
var z = zones[i];
var minBPM = 0;
var maxBPM = 0;
if (useKarvonen) {
// Karvonen Formula: ((MHR – RHR) * %) + RHR
minBPM = Math.round(((mhr – rhr) * z.pctMin) + rhr);
maxBPM = Math.round(((mhr – rhr) * z.pctMax) + rhr);
} else {
// Standard Formula: MHR * %
minBPM = Math.round(mhr * z.pctMin);
maxBPM = Math.round(mhr * z.pctMax);
}
var row = "