Entering your RHR allows for Karvonen Heart Rate Reserve (HRR) calculations, which are more accurate for trained cyclists.
Estimated Cycling Max HR
– BPM
Based on the Hunt Formula for active individuals
Your Cycling Training Zones
Zone
Name
Intensity (%)
Target HR (BPM)
function calculateCyclingZones() {
var ageInput = document.getElementById('cyclist_age');
var genderInput = document.getElementById('cyclist_gender');
var rhrInput = document.getElementById('cyclist_rhr');
var resultsArea = document.getElementById('results_area');
var displayMaxHr = document.getElementById('display_max_hr');
var zonesTableBody = document.getElementById('zones_table_body');
var methodExplanation = document.getElementById('method_explanation');
var age = parseFloat(ageInput.value);
var gender = genderInput.value;
var rhr = parseFloat(rhrInput.value);
if (isNaN(age) || age 110) {
alert("Please enter a valid age.");
return;
}
// Calculation Logic
// Using Hunt Formula (211 – 0.64 * age) which is generally better for active people/cyclists than the standard 220-age.
// For females, sometimes Gulati (206 – 0.88 * age) is used, but Hunt is a good unisex standard for active populations.
// We will calculate a base MHR and then adjust slightly if necessary.
var maxHr = Math.round(211 – (0.64 * age));
// Note: Cycling MHR is often ~5bpm lower than running MHR due to non-weight bearing nature.
// The Hunt formula was derived from active subjects, so we will use it as the "Cycling Max".
displayMaxHr.innerHTML = maxHr + " BPM";
resultsArea.style.display = 'block';
// Zone Calculation
var zones = [];
var useHRR = !isNaN(rhr) && rhr > 30 && rhr < maxHr;
if (useHRR) {
// Karvonen Formula: TargetHR = ((MaxHR – RHR) * %Intensity) + RHR
var hrr = maxHr – rhr;
methodExplanation.innerHTML = "Calculated using the Heart Rate Reserve (Karvonen) method based on your RHR of " + rhr + " BPM.";
zones = [
{ id: 1, name: "Active Recovery", minPct: 0.50, maxPct: 0.60, css: "zone-1" },
{ id: 2, name: "Endurance", minPct: 0.60, maxPct: 0.70, css: "zone-2" },
{ id: 3, name: "Tempo", minPct: 0.70, maxPct: 0.80, css: "zone-3" },
{ id: 4, name: "Threshold (Lactate)", minPct: 0.80, maxPct: 0.90, css: "zone-4" },
{ id: 5, name: "VO2 Max", minPct: 0.90, maxPct: 1.00, css: "zone-5" }
];
var tableHtml = "";
for (var i = 0; i < zones.length; i++) {
var z = zones[i];
var low = Math.round((hrr * z.minPct) + rhr);
var high = Math.round((hrr * z.maxPct) + rhr);
tableHtml += "
Finding your Maximum Heart Rate (MHR) is a foundational step in structuring an effective cycling training plan. Unlike generic fitness formulas, cycling demands specific considerations because the sport is non-weight bearing and utilizes muscle groups differently than running or swimming. This calculator uses the Hunt Formula (211 – 0.64 × age), which studies have shown to be more accurate for active populations than the traditional "220 minus age" equation.
Why Cycling MHR is Different
Many athletes observe that their maximum heart rate achieved on a bike is 5 to 10 beats per minute (BPM) lower than their max heart rate while running. There are two primary reasons for this:
Muscle Recruitment: Running involves stabilizing your body weight with every step, recruiting more total muscle mass and demanding more oxygen. In cycling, the bike supports your weight.
Hip Flexion: The bent-over position on a bike can slightly restrict the diaphragm, marginally limiting oxygen intake compared to the upright posture of running.
The Importance of Heart Rate Reserve (Karvonen Method)
While calculating zones based strictly on MHR is useful, the Heart Rate Reserve (HRR) method is superior for trained cyclists. This method factors in your Resting Heart Rate (RHR). Two cyclists might both have a Max HR of 180, but if Cyclist A has a resting rate of 45 and Cyclist B has a resting rate of 70, their training zones should differ.
Using the calculator above, inputting your RHR will automatically switch the calculation to the Karvonen formula, giving you a more personalized "working heart rate" range.
Cycling Training Zones Explained
Once you have your numbers, how do you use them? Here is a breakdown of the 5 standard cycling zones:
Zone 1 (Recovery): Very light spinning. Promotes blood flow to flush out lactate after hard days without inducing fatigue.
Zone 2 (Endurance): The "all day" pace. This is where fat metabolism is most efficient and mitochondrial density is built. Most of your training should be here.
Zone 3 (Tempo): Often called "sweet spot" training. Harder than endurance but sustainable. Great for muscle endurance but easy to overdo.
Zone 4 (Threshold): The functional threshold power (FTP) equivalent. You are on the edge of your anaerobic limit. Sustainable for 10-60 minutes depending on fitness.
Zone 5 (VO2 Max): Maximum effort. Sustainable for only a few minutes. This trains your heart's maximum capacity to pump blood.
Field Testing for Accuracy
While formulas provide a safe estimate, the most accurate way to find your cycling MHR is a field test. A common protocol involves a thorough warm-up, followed by a 20-minute time trial where the final minute is an all-out sprint. The highest number seen on your heart rate monitor during that sprint is your functional cycling max.