Back to Blog
Training and Racing

Heart Rate Zone Calculator

Endurance Athlete Roadmap
April 26, 2023
4 min read
Heart Rate Zone Calculator

Calculating heart rate zones is an essential part of endurance training, and there are several methods to help athletes determine their ideal heart rate zones.

These methods include using age-based equations, lactate threshold testing, and more. Each approach has its benefits and cons, with some being more accurate than others.

Age-based equations are often the most accessible and simple to use, but they may not reflect an individual's fitness level.

On the other hand, lactate threshold testing is a more accurate method, but it can be expensive and invasive.

Ultimately, selecting the right method comes down to an athlete's personal preference and long-term goals.

Regardless of the formula, calculating heart rate zones is essential to optimize training and improve overall endurance performance.

Karvonen Formula

The heart rate reserve formula is maximum heart rate minus resting heart rate. Another name for the heart rate reserve formula is the Karvonen method.

Maximum Heart Rate Zone Calculator

Age:

Resting Heart Rate:

Maximum Heart Rate:

Heart Rate Zones:

function calculateMaxHeartRate() {

const age = parseInt(document.getElementById("age").value);

const restingHeartRate = parseInt(document.getElementById("resting-heart-rate").value);

const maxHeartRate = 220 - age;

const heartRateZones = {

"Zone 1: Recovery": [Math.round((maxHeartRate - restingHeartRate) * 0.5) + restingHeartRate, Math.round((maxHeartRate - restingHeartRate) * 0.6) + restingHeartRate],

"Zone 2: Endurance": [Math.round((maxHeartRate - restingHeartRate) * 0.6) + restingHeartRate, Math.round((maxHeartRate - restingHeartRate) * 0.7) + restingHeartRate],

"Zone 3: Tempo": [Math.round((maxHeartRate - restingHeartRate) * 0.7) + restingHeartRate, Math.round((maxHeartRate - restingHeartRate) * 0.8) + restingHeartRate],

"Zone 4: Threshold": [Math.round((maxHeartRate - restingHeartRate) * 0.8) + restingHeartRate, Math.round((maxHeartRate - restingHeartRate) * 0.9) + restingHeartRate],

"Zone 5: Maximum": [Math.round((maxHeartRate - restingHeartRate) * 0.9) + restingHeartRate, Math.round((maxHeartRate - restingHeartRate) * 1) + restingHeartRate],

};

document.getElementById("max-heart-rate").value = maxHeartRate;

document.getElementById("heart-rate-zones").value = JSON.stringify(heartRateZones);

}

MAF 180 Heart Rate Zone Calculator

The 180 formula is a tool for determining your Maximum Aerobic Function (MAF) heart rate. As Phil Maffetone established, it involves subtracting your age from 180 and adjusting for various lifestyle factors. Thus, you derive a maximum heart rate threshold for all your training sessions.

MAF 180 Formula Calculator

Age:

MAF Heart Rate:

function calculateMAF() {

const age = parseInt(document.getElementById("age").value);

const mafHeartRate = 180 - age;

document.getElementById("maff").value = mafHeartRate;

}

Zoladz Method

The Zoladz Method is derived by subtracting values from HRmax. The formula is as follows. THR = HRmax – Adjuster ± 5 bpm. Zone 1 Adjuster = 50 bpm; Zone 2 Adjuster = 40 bpm; Zone 3 Adjuster = 30 bpm; Zone 4 Adjuster = 20 bpm; Zone 5 Adjuster = 10 bpm.

Zoladz Method Heart Rate Zones

Lactate Threshold Heart Rate:

Resting Heart Rate:

Max Heart Rate:

Zone 1:

Zone 2:

Zone 3:

Zone 4:

Zone 5:

function calculateZoladzZones() {

const ltHR = parseInt(document.getElementById("lt_hr").value);

const restingHR = parseInt(document.getElementById("resting_hr").value);

const maxHR = parseInt(document.getElementById("max_hr").value);

const reserveHR = maxHR - restingHR;

const ltPercent = (ltHR - restingHR) / reserveHR;

document.getElementById("zone_1").value = Math.round(restingHR + (ltPercent * 0.6 * reserveHR)) + " - " + Math.round(restingHR + (ltPercent * 0.7 * reserveHR));

document.getElementById("zone_2").value = Math.round(restingHR + (ltPercent * 0.7 * reserveHR)) + " - " + Math.round(restingHR + (ltPercent * 0.8 * reserveHR));

document.getElementById("zone_3").value = Math.round(restingHR + (ltPercent * 0.8 * reserveHR)) + " - " + Math.round(restingHR + (ltPercent * 0.9 * reserveHR));

document.getElementById("zone_4").value = Math.round(restingHR + (ltPercent * 0.9 * reserveHR)) + " - " + Math.round(restingHR + (ltPercent * 0.95 * reserveHR));

document.getElementById("zone_5").value = Math.round(restingHR + (ltPercent * 0.95 * reserveHR)) + " - " + Math.round(maxHR);

}

Percentage of Maximum Heart Rate

Heart rate zones are based on a percentage of your maximum heart rate. The easiest way to calculate your max heart rate is using the age-adjusted formula 220 – your age = max heart rate.

Percentage of Max Heart Rate Zone Calculator

Age:

Resting Heart Rate:

Max Heart Rate:

Zone 1:

Zone 2:

Zone 3:

Zone 4:

Zone 5:

function calculateHRZones() {

const age = parseInt(document.getElementById("age").value);

const restingHR = parseInt(document.getElementById("resting_hr").value);

const maxHR = 220 - age;

document.getElementById("max_hr").value = maxHR;

document.getElementById("zone_1").value = Math.round((maxHR - restingHR) * 0.5 + restingHR) + " - " + Math.round((maxHR - restingHR) * 0.6 + restingHR);

document.getElementById("zone_2").value = Math.round((maxHR - restingHR) * 0.6 + restingHR) + " - " + Math.round((maxHR - restingHR) * 0.7 + restingHR);

document.getElementById("zone_3").value = Math.round((maxHR - restingHR) * 0.7 + restingHR) + " - " + Math.round((maxHR - restingHR) * 0.8 + restingHR);

document.getElementById("zone_4").value = Math.round((maxHR - restingHR) * 0.8 + restingHR) + " - " + Math.round((maxHR - restingHR) * 0.9 + restingHR);

document.getElementById("zone_5").value = Math.round((maxHR - restingHR) * 0.9 + restingHR) + " - " + maxHR;

}

Need Help?

Work with me!

Ready to Take Your Training to the Next Level?

Stop guessing and start progressing. Join our community of endurance athletes who are achieving their goals with expert coaching and support.