Calculate your Maximum Heart Rate and Training Zones (Karvonen Method)
Measure your pulse for 60 seconds while completely relaxed.
Estimated Maximum Heart Rate (MHR)
0 BPM
Heart Rate Reserve (HRR): 0 BPM
Zone
Intensity
Target Range (BPM)
Benefit
How to Calculate Human Heart Rate and Training Zones
Understanding how to calculate human heart rate metrics is fundamental for safe and effective exercise. Whether you are an elite athlete or just starting a fitness journey, knowing your numbers allows you to train at the right intensity to achieve your specific goals, be it fat loss, endurance building, or cardiovascular health.
1. Calculating Maximum Heart Rate (MHR)
Your Maximum Heart Rate (MHR) is the upper limit of what your cardiovascular system can handle during physical exertion. The most common formula used to estimate this is simple:
MHR = 220 – Age
For example, if you are 40 years old, your estimated maximum heart rate is 180 beats per minute (BPM). While this provides a general baseline, it does not account for individual fitness levels or genetics.
2. The Karvonen Formula (Heart Rate Reserve)
The calculator above uses the Karvonen Method, which is widely considered more accurate for determining training zones than the simple MHR formula. This method factors in your Resting Heart Rate (RHR).
Step 1: Measure your Resting Heart Rate (best done in the morning before getting out of bed).
This approach ensures that someone with a very low resting heart rate (indicating high fitness) has training zones adjusted specifically for their cardiovascular efficiency.
3. How to Measure Your Heart Rate Manually
If you do not have a heart rate monitor or smartwatch, you can calculate your current heart rate manually using the radial artery (wrist) or carotid artery (neck):
Place your index and middle fingers on the inside of your wrist (thumb side) or the side of your neck.
Once you feel the pulse, look at a clock.
Count the number of beats for 15 seconds.
Multiply that number by 4 to get your Beats Per Minute (BPM).
Example: If you count 20 beats in 15 seconds, your heart rate is 80 BPM.
4. Understanding Heart Rate Zones
Training in specific heart rate zones yields different physiological benefits:
Zone 1 (50-60%): Very light activity, warm-up, and recovery.
Zone 2 (60-70%): Fat burning and basic endurance. This is a conversational pace.
Zone 3 (70-80%): Aerobic fitness. Improves blood circulation and skeletal muscle strength.
Zone 4 (80-90%): Anaerobic capacity. Increases performance speed and lactate threshold.
Zone 5 (90-100%): Maximum effort. For short bursts of speed and power (interval training).
Medical Disclaimer: This calculator is for informational purposes only. Always consult a physician before starting a new exercise program, especially if you have a history of heart conditions or high blood pressure.
function calculateHeartZones() {
// 1. Get Inputs
var ageInput = document.getElementById('hr_age');
var restingInput = document.getElementById('hr_resting');
var resultsDiv = document.getElementById('hr_results');
var age = parseFloat(ageInput.value);
var restingHR = parseFloat(restingInput.value);
// 2. Validation
if (isNaN(age) || age 120) {
alert("Please enter a valid age between 1 and 120.");
return;
}
if (isNaN(restingHR) || restingHR 200) {
alert("Please enter a valid resting heart rate (usually between 30 and 120 bpm).");
return;
}
// 3. Logic – Karvonen Method
// Max Heart Rate
var maxHR = 220 – age;
// Heart Rate Reserve (HRR)
var hrr = maxHR – restingHR;
// Display Summary
document.getElementById('val_mhr').innerText = Math.round(maxHR);
document.getElementById('val_hrr').innerText = Math.round(hrr);
// 4. Calculate Zones and Build Table
var zones = [
{ name: "Zone 1 (Warm Up)", min: 0.50, max: 0.60, benefit: "Recovery, Warm up" },
{ name: "Zone 2 (Fat Burn)", min: 0.60, max: 0.70, benefit: "Fat Loss, Basic Endurance" },
{ name: "Zone 3 (Aerobic)", min: 0.70, max: 0.80, benefit: "Cardio Fitness, Stamina" },
{ name: "Zone 4 (Anaerobic)", min: 0.80, max: 0.90, benefit: "High Performance, Speed" },
{ name: "Zone 5 (Maximum)", min: 0.90, max: 1.00, benefit: "Max Effort, Sprinting" }
];
var tableHtml = "";
for (var i = 0; i < zones.length; i++) {
var zone = zones[i];
// Formula: (HRR * intensity) + RestingHR
var minBpm = Math.round((hrr * zone.min) + restingHR);
var maxBpm = Math.round((hrr * zone.max) + restingHR);
var percentageLabel = (zone.min * 100) + "% – " + (zone.max * 100) + "%";
tableHtml += "