Fox Formula (220 – Age)
Tanaka Formula (208 – 0.7 × Age)
Gellish Formula (207 – 0.7 × Age)
Neutral
Male
Female
–Max Heart Rate (MHR)
–Resting HR
–Heart Rate Reserve
Your Training Zones
Zone
Intensity
Range (BPM)
Benefit
Understanding Your Heart Rate Zones
Training based on heart rate zones allows you to maximize your workout efficiency and avoid overtraining. By targeting specific heart rate ranges, you can focus on different physiological adaptations, from fat burning to improved aerobic capacity and peak performance.
The Calculation Methods
This calculator supports multiple scientific formulas to estimate your Maximum Heart Rate (MHR):
Fox Formula (220 – Age): The traditional standard. Simple to use but can have a margin of error of +/- 10-12 bpm for some individuals.
Tanaka Formula (208 – 0.7 × Age): Considered more accurate for healthy adults over the age of 40.
Karvonen Method: If you enter your Resting Heart Rate, the calculator uses the Heart Rate Reserve (HRR) method. This is widely considered the most accurate way to define training zones because it accounts for your personal fitness level.
Zone Breakdown
Here is what happens in each zone:
Zone 1 (Very Light): Warm-up and recovery. Aids recovery and prepares the body for exercise.
Zone 2 (Light): Fat burning and endurance. Builds general aerobic base and metabolizes fat efficiently.
Zone 3 (Moderate): Aerobic capacity. Improves blood circulation and skeletal muscle efficiency.
Zone 4 (Hard): Anaerobic threshold. Increases maximum performance capacity and lactate tolerance.
Zone 5 (Maximum): Red line. Develops maximum speed and power. Sustainable only for very short bursts.
How to Find Your Resting Heart Rate
For the most accurate results using the Karvonen method, measure your heart rate in the morning right after waking up, before getting out of bed. Count your pulse for 60 seconds. Do this for 3-4 days and take the average.
function calculateHeartZones() {
var ageInput = document.getElementById('hrAge').value;
var rhrInput = document.getElementById('hrResting').value;
var formula = document.getElementById('hrFormula').value;
var gender = document.getElementById('hrGender').value;
// Basic Validation
if (!ageInput || isNaN(ageInput)) {
alert("Please enter a valid age.");
return;
}
var age = parseFloat(ageInput);
var rhr = parseFloat(rhrInput);
var hasRHR = !isNaN(rhr) && rhr > 0;
// 1. Calculate Max Heart Rate (MHR)
var mhr = 0;
if (formula === 'fox') {
// Traditional: 220 – age
// Slight gender variation exists in some literature (226 for women), but standard Fox is 220.
// Let's stick to standard Fox unless user wants specificity, but prompts didn't ask for gender specific logic deeply.
mhr = 220 – age;
} else if (formula === 'tanaka') {
mhr = 208 – (0.7 * age);
} else if (formula === 'gellish') {
mhr = 207 – (0.7 * age);
}
mhr = Math.round(mhr);
// 2. Logic for Zones (Standard vs Karvonen)
// Karvonen = (MHR – RHR) * %intensity + RHR
// Standard = MHR * %intensity
var zones = [
{ name: "Zone 1", desc: "Very Light / Warm Up", minPct: 0.50, maxPct: 0.60, colorClass: "zone-1" },
{ name: "Zone 2", desc: "Light / Fat Burn", minPct: 0.60, maxPct: 0.70, colorClass: "zone-2" },
{ name: "Zone 3", desc: "Moderate / Aerobic", minPct: 0.70, maxPct: 0.80, colorClass: "zone-3" },
{ name: "Zone 4", desc: "Hard / Anaerobic", minPct: 0.80, maxPct: 0.90, colorClass: "zone-4" },
{ name: "Zone 5", desc: "Maximum / VO2 Max", minPct: 0.90, maxPct: 1.00, colorClass: "zone-5" }
];
var tableBody = document.getElementById('zonesTableBody');
tableBody.innerHTML = "";
for (var i = 0; i < zones.length; i++) {
var z = zones[i];
var minBpm, maxBpm;
if (hasRHR) {
// Karvonen Formula
var hrr = mhr – rhr;
minBpm = Math.round((hrr * z.minPct) + rhr);
maxBpm = Math.round((hrr * z.maxPct) + rhr);
} else {
// Standard Percentage of Max HR
minBpm = Math.round(mhr * z.minPct);
maxBpm = Math.round(mhr * z.maxPct);
}
var tr = document.createElement('tr');
tr.innerHTML =
'