Enter your average heart rate from a 20-minute time trial.
Your Training Zones
Zone
Intensity
Heart Rate Range (BPM)
function calculateZones() {
var lthrInput = document.getElementById("lthrInput");
var lthr = parseFloat(lthrInput.value);
// Validation
if (isNaN(lthr) || lthr 250) {
alert("Please enter a valid Heart Rate (typically between 100 and 220 bpm).");
return;
}
// Calculation logic based on Joe Friel's Cycling Zones
// Zone 1: 106%
var z1_upper = Math.floor(lthr * 0.81);
var z2_lower = Math.ceil(lthr * 0.81);
var z2_upper = Math.floor(lthr * 0.89);
var z3_lower = Math.ceil(lthr * 0.90);
var z3_upper = Math.floor(lthr * 0.93);
var z4_lower = Math.ceil(lthr * 0.94);
var z4_upper = Math.floor(lthr * 0.99);
var z5a_lower = Math.ceil(lthr * 1.00);
var z5a_upper = Math.floor(lthr * 1.02);
var z5b_lower = Math.ceil(lthr * 1.03);
var z5b_upper = Math.floor(lthr * 1.06);
var z5c_lower = Math.ceil(lthr * 1.06);
// Generate Table Rows
var tableHTML = ";
// Zone 1
tableHTML += '
FTP Heart Rate Calculator: Master Your Cycling Training Zones
Training with power meters is the gold standard in modern cycling, but Heart Rate (HR) remains a vital and accessible metric for athletes of all levels. To train effectively using a heart rate monitor, you must determine your zones based on your Functional Threshold Heart Rate (FTHR), often referred to as Lactate Threshold Heart Rate (LTHR).
This FTP Heart Rate Calculator uses Joe Friel's widely accepted zone system to calculate your precise training intensities based on your threshold physiology rather than the less accurate "Max Heart Rate" formula.
Note: FTP (Functional Threshold Power) refers to wattage, while FTHR refers to the Heart Rate corresponding to that threshold effort. This calculator helps you align your HR zones with your FTP effort.
What is FTHR / LTHR?
Functional Threshold Heart Rate (FTHR) is the average heart rate you can sustain during an all-out effort for approximately one hour. This is the physiological "red line" where your body shifts from primarily aerobic metabolism to anaerobic metabolism, causing lactate to accumulate faster than it can be cleared.
Knowing this number allows you to set training zones that are personalized to your current fitness level, ensuring you aren't training too hard on easy days or too easy on hard days.
How to Determine Your FTHR
The most practical way to find your FTHR is through a 30-minute solo time trial test. You can do this on a flat stretch of road or an indoor trainer.
Warm-up: 15–20 minutes of easy riding with a few short bursts of intensity.
The Test: Ride for 30 minutes at the maximum sustained pace you can hold. It should be a steady, hard effort.
The Data: Press the "Lap" button on your bike computer 10 minutes into the ride.
The Result: Your average heart rate for the last 20 minutes of this 30-minute ride is your estimated LTHR/FTHR.
Once you have this number, enter it into the calculator above to define your zones.
Understanding the 7-Zone System
Unlike standard 5-zone models based on max heart rate, the FTHR model splits the higher intensities to provide more granularity for competitive training.
Zone 1 (Active Recovery): Very easy riding used for warming up, cooling down, or recovery days. Promotes blood flow without fatigue.
Zone 2 (Endurance): The "all-day" pace. Training here builds mitochondrial density and fat-burning efficiency.
Zone 3 (Tempo): A spirited pace often used in group rides. It requires focus but isn't maximal.
Zone 4 (Sub-Threshold): Just below your FTP. This is the "sweet spot" for raising your threshold power.
Zone 5a (Super-Threshold): Slightly above your FTP. Intervals here are very painful and typically last 8–20 minutes.
Zone 5b (Aerobic Capacity / VO2 Max): Very hard efforts lasting 3–8 minutes. This targets your maximum oxygen uptake.
Zone 5c (Anaerobic Capacity): Sprinting or short steep climbs. These efforts last less than a few minutes and rely on stored energy sources.
Why Use FTHR instead of Max Heart Rate?
Calculating zones based on Max Heart Rate (e.g., 220 minus age) is often inaccurate because max heart rate varies significantly between individuals of the same age and doesn't reflect fitness. FTHR is a performance metric; it changes as you get fitter. By anchoring your zones to your threshold, your training zones scale with your actual fitness, ensuring your workouts remain effective throughout the season.