Optimize your training intensity using the Karvonen Formula
50-60% – Very Light (Recovery/Warm-up)
60-70% – Light (Fat Burn/Endurance)
70-80% – Moderate (Aerobic/Fitness)
80-90% – Hard (Anaerobic/Performance)
90-100% – Maximum (Sprints/VO2 Max)
Your Personalized Results:
Target: 0 BPM
Zone
Intensity
BPM Range
Understanding Your Training Zones
Knowing your ideal workout heart rate is critical for achieving specific fitness goals, whether you are trying to lose weight, improve cardiovascular endurance, or increase your speed. Exercising at the right intensity ensures you aren't overtraining (leading to burnout) or undertraining (leading to a plateau).
The Karvonen Formula Explained
This calculator utilizes the Karvonen Formula, which is considered more accurate than the standard "220 minus age" method. The Karvonen method incorporates your Resting Heart Rate (RHR) to calculate your Heart Rate Reserve (HRR), tailoring the zones to your actual fitness level.
Zone 1 (50-60%): Recovery and light warm-up. Improves basic health and helps recovery after harder sessions.
Zone 2 (60-70%): The "Fat Burning Zone." Ideal for building endurance and burning fat calories efficiently.
Zone 3 (70-80%): The Aerobic Zone. Improves cardiovascular strength and respiratory capacity.
Zone 4 (80-90%): Anaerobic Zone. Increases lactate threshold and high-speed endurance.
Zone 5 (90-100%): Maximum Effort. Used for short intervals to improve peak performance and VO2 Max.
Example Calculation
If you are 30 years old with a resting heart rate of 60 BPM and want to train in the Fat Burn zone (65% intensity):
Max Heart Rate: 220 – 30 = 190 BPM
Heart Rate Reserve: 190 – 60 = 130 BPM
Target: (130 x 0.65) + 60 = 144.5 BPM
function calculateHeartRate() {
var age = parseFloat(document.getElementById('calcAge').value);
var rhr = parseFloat(document.getElementById('calcRestingHR').value);
var intensity = parseFloat(document.getElementById('calcIntensity').value);
if (isNaN(age) || age 120) {
alert("Please enter a valid age.");
return;
}
if (isNaN(rhr) || rhr 150) {
alert("Please enter a valid resting heart rate (typically 40-100 BPM).");
return;
}
// Formulas
var mhr = 220 – age;
var hrr = mhr – rhr;
// Main calculation for selected intensity
var target = Math.round((hrr * (intensity / 100)) + rhr);
document.getElementById('targetBPM').innerHTML = target;
// Determine description
var desc = "";
if (intensity < 60) desc = "You are in the Warm-up/Recovery zone. This is excellent for long-term health and active recovery.";
else if (intensity < 70) desc = "You are in the Fat Burn zone. This intensity builds aerobic endurance and utilizes fat as a primary fuel source.";
else if (intensity < 80) desc = "You are in the Aerobic zone. This improves your cardiovascular fitness and muscle strength.";
else if (intensity < 90) desc = "You are in the Anaerobic zone. This improves your speed, power, and lactate threshold.";
else desc = "You are in the Red Line zone. This is for maximum performance and should be used sparingly in short intervals.";
document.getElementById('zoneDescription').innerHTML = desc;
// Generate Table
var zones = [
{ name: "Zone 1 (Very Light)", low: 0.50, high: 0.60, color: "#95a5a6" },
{ name: "Zone 2 (Light)", low: 0.60, high: 0.70, color: "#2ecc71" },
{ name: "Zone 3 (Moderate)", low: 0.70, high: 0.80, color: "#f1c40f" },
{ name: "Zone 4 (Hard)", low: 0.80, high: 0.90, color: "#e67e22" },
{ name: "Zone 5 (Max)", low: 0.90, high: 1.00, color: "#c0392b" }
];
var tableHtml = "";
for (var i = 0; i = zones[i].low && intensity/100 < zones[i].high) || (intensity == 95 && i == 4);
var rowStyle = isActive ? "background-color: #fff9e6; font-weight: bold; border: 2px solid #e74c3c;" : "";
tableHtml += '