Estimate your Maximum Heart Rate (MHR) and Target Zones
Please enter a valid age between 5 and 120.
Male
Female
Fox Formula (Standard: 220 – Age)
Tanaka Formula (More accurate for >40)
Gulati Formula (Specific for Women)
Haskell & Fox (Revised)
Results
Based on the Fox Formula, your predicted maximum heart rate is:
0 BPM
Target Heart Rate Zones
To train effectively, refer to these zones based on your calculated maximum:
Zone Intensity
Percentage
Heart Rate Range (BPM)
Benefit
Note: These figures are estimates. Consult a physician before starting any vigorous exercise program.
How to Calculate Predicted Max Heart Rate
Your Maximum Heart Rate (MHR) is the upper limit of what your cardiovascular system can handle during physical activity. Knowing this number is fundamental to designing an effective and safe exercise program. By calculating your predicted MHR, you can determine your specific Target Heart Rate Zones to optimize fat burning, endurance building, and peak performance training.
Why Use a Formula?
While the only way to determine your absolute true maximum heart rate is through a medically supervised graded exercise test (stress test), mathematical formulas provide a sufficient estimate for the general population. These predictors allow you to set boundaries for your workouts without needing expensive laboratory equipment.
Understanding the Formulas
Over the years, exercise physiologists have developed several equations to predict MHR. This calculator includes the most widely recognized methods:
1. The Fox Formula
This is the most traditional and widely cited formula. It is simple to calculate but tends to overestimate MHR in young people and underestimate it in older adults.
MHR = 220 – Age
2. The Tanaka Formula
Published in 2001, the Tanaka equation is generally considered more accurate than the Fox formula for a broader range of ages, specifically for healthy adults over age 40.
MHR = 208 – (0.7 × Age)
3. The Gulati Formula (For Women)
Research published in 2010 suggested that the traditional Fox formula often overestimated the maximum heart rate for women. The Gulati formula is specifically calibrated for female physiology.
MHR = 206 – (0.88 × Age)
Target Heart Rate Zones Explained
Once you have your Predicted Max Heart Rate, you can break it down into training zones:
Warm Up / Recovery (50-60%): Ideal for beginners or active recovery days. Improves overall health and helps recovery.
Fat Burning (60-70%): The body relies more on fat as a fuel source. Good for basic endurance and weight management.
Aerobic / Cardio (70-80%): The "sweet spot" for cardiovascular training. Improves lung capacity and heart strength.
Anaerobic / Hardcore (80-90%): High-intensity interval training (HIIT). Increases lactate threshold and performance speed.
VO2 Max (90-100%): Maximum effort for very short bursts. Only recommended for conditioned athletes.
Limitations
Please remember that these calculations are statistical predictions. Individual heart rates can vary significantly due to genetics, fitness levels, medications (like beta-blockers), and environmental factors. Always listen to your body and consult a healthcare professional before engaging in high-intensity training.
function calculateHeartRate() {
// 1. Get Inputs
var ageInput = document.getElementById('inputAge');
var genderInput = document.getElementById('inputGender');
var formulaInput = document.getElementById('inputFormula');
var resultBox = document.getElementById('resultBox');
var ageError = document.getElementById('ageError');
var age = parseFloat(ageInput.value);
var gender = genderInput.value;
var formulaType = formulaInput.value;
// 2. Validation
if (isNaN(age) || age 120) {
ageError.style.display = 'block';
resultBox.style.display = 'none';
return;
} else {
ageError.style.display = 'none';
}
// 3. Calculation Logic
var maxHeartRate = 0;
var formulaDisplay = "";
switch (formulaType) {
case 'fox':
maxHeartRate = 220 – age;
formulaDisplay = "Fox Formula";
break;
case 'tanaka':
maxHeartRate = 208 – (0.7 * age);
formulaDisplay = "Tanaka Formula";
break;
case 'gulati':
// Gulati is specifically for women, but we calculate it regardless of gender selection
// usually, though practically users should select Female + Gulati.
// We will use the formula logic strictly as requested.
maxHeartRate = 206 – (0.88 * age);
formulaDisplay = "Gulati Formula";
break;
case 'haskell':
// Haskell & Fox (Revised) often cited as similar to Fox but sometimes interpreted differently.
// We will use the common alternative for active adults: HRmax = 220 – age (standard)
// Or the Gellish formula often grouped here: 207 – (0.7 * age).
// Let's use Gellish as the distinct "Haskell/Revised" option for variety.
maxHeartRate = 207 – (0.7 * age);
formulaDisplay = "Gellish/Haskell Formula";
break;
default:
maxHeartRate = 220 – age;
formulaDisplay = "Fox Formula";
}
// Round the result
maxHeartRate = Math.round(maxHeartRate);
// 4. Calculate Zones
// Zones: 50-60, 60-70, 70-80, 80-90, 90-100
var zone1Min = Math.round(maxHeartRate * 0.50);
var zone1Max = Math.round(maxHeartRate * 0.60);
var zone2Min = Math.round(maxHeartRate * 0.60);
var zone2Max = Math.round(maxHeartRate * 0.70);
var zone3Min = Math.round(maxHeartRate * 0.70);
var zone3Max = Math.round(maxHeartRate * 0.80);
var zone4Min = Math.round(maxHeartRate * 0.80);
var zone4Max = Math.round(maxHeartRate * 0.90);
var zone5Min = Math.round(maxHeartRate * 0.90);
var zone5Max = maxHeartRate;
// 5. Build HTML for Table
var zonesHtml = `