Heart Rate Zones
{{ summaryHeadline }}
{{ summaryDetailLine }}
Method {{ methodLabel }} Formula {{ formulaLabel }} Preset {{ presetLabel }} Max {{ used_max_hr }} bpm Band {{ focusBand.rangeLabel }} Plan {{ timePresetLabel }} {{ currentFocusStatus.badge }}
yrs:
bpm:
bpm:
bpm:
min:
bpm:
Marker Value Copy
{{ marker.label }} {{ marker.value }}
Zone Percent Range (bpm) Reserve (bpm) Midpoint Session % Minutes HH:MM Copy
Z{{ z.idx }} · {{ z.label }} {{ z.pct_low }}–{{ z.pct_high }}% {{ z.bpm_low }}–{{ z.bpm_high }} bpm {{ z.reserve_low }}–{{ z.reserve_high }} bpm {{ z.mid_bpm }} bpm {{ sessionPlan.rowsMapped[z.idx]?.pctDisplay || '—' }} {{ sessionPlan.rowsMapped[z.idx]?.minutesDisplay || '—' }} {{ sessionPlan.rowsMapped[z.idx]?.timeDisplay || '—' }}
Max HR 100% {{ used_max_hr }} bpm {{ sessionPlan.totalMinutes }} min {{ sessionPlan.totalDisplay }}
Reserve span 0–{{ used_hrr }} bpm
{{ card.label }}
{{ card.value }}
{{ card.detail }}
Zone Range Primary use Feels like Talk test Public-health ref Today
Z{{ row.idx }} · {{ row.label }} {{ row.range }} {{ row.purpose }} {{ row.feelsLike }} {{ row.talkTest }} {{ row.reference }} {{ row.today }}
{{ comparisonSummary.headline }}
{{ comparisonSummary.detail }}
{{ header.label }}
{{ row[header.key] }}
Working band
{{ focusBand.label }} · {{ focusBand.rangeLabel }}
{{ focusBand.note }}
Current check
{{ currentFocusStatus.available ? currentFocusStatus.badge : 'Enter current HR for a live check' }}
{{ currentFocusStatus.available ? currentFocusStatus.detail : 'The live reading is optional and only used for today’s pacing context.' }}
Z{{ row.idx }} {{ row.pctDisplay }} · {{ row.minutesDisplay }}
Zone Session % Minutes HH:MM Guidance Copy
Z{{ row.idx }} · {{ row.label }} {{ row.pctDisplay }} {{ row.minutesDisplay }} {{ row.timeDisplay }} {{ row.guidance }}
Total {{ sessionPlan.totalPctDisplay }} {{ sessionPlan.totalMinutesDisplay }} {{ sessionPlan.totalDisplay }} {{ timePresetLabel }}

                
:

Heart rate zones are effort bands built from how close exercise pulse gets to an individual's upper limit. They matter because the same route, wattage, or pace can feel easy one day and costly the next, while pulse shows how much cardiovascular strain the body is carrying right now. When someone is deciding whether a session should stay aerobic, drift toward tempo, or reach hard interval work, the useful question is not just speed but which zone the effort belongs to.

These bands are always personal to some degree and approximate to some degree. Maximum heart rate can be measured in a true maximal test, but many people start with an age-based estimate instead. Resting heart rate changes the picture too. Two athletes with the same age and the same predicted maximum can end up with different reserve-based targets if one wakes up at 48 bpm and the other at 68 bpm.

Heart rate zones shown as five effort bands from recovery to peak with percent markers from 50% to 100% of max heart rate.

That is why zone guidance is helpful for pacing and repeatability, but weaker as a hard truth about physiology. Heat, dehydration, sleep loss, caffeine, beta blockers, illness, hills, and wrist-sensor lag can all move the reading. A pulse that sits above an expected band does not automatically mean danger, and a pulse that stays lower than expected does not automatically mean poor effort.

Use heart rate zones as an informational training aid, not as a diagnosis or treatment rule. If symptoms, heart disease, medication limits, or clinician-set exercise restrictions are part of the picture, those instructions matter more than any generic zone estimate.

Technical Details:

Most zone systems start from one of two quantities. Maximum heart rate is the highest pulse expected at all-out effort. Heart rate reserve is the distance between resting heart rate and maximum heart rate. Percent-of-max methods scale intensity from zero to that ceiling, while reserve methods scale intensity from resting pulse upward. Reserve therefore tends to lift easier and middle bands for people whose resting pulse sits well below the general population average.

Age-based equations exist because direct maximal testing is not always available. The Tanaka, Gellish, and Nes equations all try to estimate the same ceiling, yet published data still shows meaningful individual error even when one equation performs better than another on average. That is why the method choice matters: a small spread in predicted maximum heart rate can move endurance and threshold cutoffs enough to change pacing advice.

Two horizontal scales compare a 70 to 80 percent band from maximum heart rate alone with the same percentage applied above resting heart rate in the reserve method.

The available calculation routes all use the same boundary idea: each zone has a lower percentage and an upper percentage, then converts those percentages into bpm. If heart rate reserve is selected, the percentage is applied to the reserve span and the resting pulse is added back. If rounding is set above zero, every displayed boundary is snapped to the chosen bpm step.

These equations show the reserve span and the two ways a target boundary is converted into bpm.

HRR = Hmax - Hrest T%Max = round ( p100 × Hmax ) T%HRR = round ( Hrest + p100 × HRR )

With a max heart rate of 190 bpm and a resting heart rate of 60 bpm, a 70 to 80% band lands at 133 to 152 bpm by plain %Max, but 151 to 164 bpm by %HRR. The percentage did not change. The baseline did.

Calculation routes used in the heart rate zones tool
Route Required values Boundary rule Why results differ
Age-based %Max Age plus one prediction equation Each band is a percentage of estimated max heart rate Fast starting point when no tested max is available
Custom Max HR % Known or tested max heart rate Each band is a percentage of entered max heart rate Removes formula spread and keeps zones tied to a measured ceiling
HR Reserve (Karvonen) Known max heart rate plus resting heart rate Each band is resting heart rate plus a percentage of reserve Shifts easier and middle bands when resting pulse is unusually low or high
Built-in heart rate zone preset bands
Preset Band Lower % Upper % Default label
Classic 5Z15060Recovery
Classic 5Z26070Endurance
Classic 5Z37080Tempo
Classic 5Z48090Threshold
Classic 5Z590100VO2max
Endurance 5Z15565Recovery
Endurance 5Z26575Endurance
Endurance 5Z37585Tempo
Endurance 5Z48592Threshold
Endurance 5Z592100VO2max
Polarized 3Z16080Easy
Polarized 3Z28090Moderate
Polarized 3Z390100Intense
Threshold 4Z16070Easy
Threshold 4Z27080Steady
Threshold 4Z38090Threshold
Threshold 4Z490100VO2max
Cycling 6Z15568Recovery
Cycling 6Z26878Endurance
Cycling 6Z37887Tempo
Cycling 6Z48793Threshold
Cycling 6Z59397VO2max
Cycling 6Z697100Anaerobic

The Training Guide also shows two public-health anchors: moderate work at 50 to 70% of max heart rate and vigorous work at 70 to 85% of max heart rate. Those anchors are useful comparison points, but they are not the same thing as a sport-specific session prescription. The tool keeps them tied to %Max even when the main calculation uses heart rate reserve.

Everyday Use & Decision Guide:

A good first pass is Age-based % of Max HR with the Tanaka formula and the Classic 5 preset when all you know is age. That fills Key Markers, Zone Metrics, Training Guide, and Heart Rate Zone Map quickly. If a tested max heart rate is already known, switch to Custom Max HR. If resting pulse has been measured calmly over several mornings, HR Reserve is usually the better choice for easier and middle-zone pacing.

  • Classic 5 is the safest default when you want a familiar running or general cardio structure.
  • Endurance 5 works well when steady aerobic sessions are the main focus and you want slightly higher lower-band cutoffs.
  • Polarized 3 and Threshold 4 are easier to scan when a plan uses broader buckets instead of many narrow bands.
  • Cycling 6 and Custom make more sense when a head unit, coach, or training note already expects those exact band counts.

Current HR and Session duration answer different questions. Current HR is a live check for today's effort. Session duration plus Intensity mix turns the same bands into a Session Plan with minutes and HH:MM targets. Base endurance keeps the working band low, while tempo, threshold, and high-intensity presets shift attention upward. If you only want a pacing read, leave Session duration empty. If you are building the session before you start, add the time and let the plan spread minutes across the zones.

Do not trust a zone just because the chart looks neat. In Age-based mode, open Method Compare and see whether the formulas move your endurance ceiling or threshold entry enough to change pacing. In HR Reserve mode, check whether the reserve-based band sits meaningfully above the plain %Max version. Then confirm the Working band in Key Markers against the same band in Training Guide or Heart Rate Zone Map before you build alerts around it.

Step-by-Step Guide:

The quickest path is one method choice, one zone model, then a short trust check.

  1. Choose Method. Pick Age-based % of Max HR if age is all you have, Custom Max HR % if maximum heart rate is already known, or HR Reserve (Karvonen) if you also have a solid resting pulse.
  2. Enter the required source values. Age mode needs Age and an Age formula. HR Reserve needs both Max HR and Resting HR.
  3. Pick a Zone preset. If you choose Custom, enter comma-separated breakpoints that stay in ascending order and end at 100.
  4. Add an optional Current HR if you want a live label such as Z2 · Endurance, Below Z1, or Above Z5/Above Z6.
  5. Add Session duration and an Intensity mix if you want Session Plan. A custom mix must contain one value per zone.
  6. Read Key Markers first, then verify the full ranges in Zone Metrics. If age or reserve behavior matters, open Method Compare before you trust the band.
  7. If a red validation banner appears, fix that input before using the output. A usable result should leave you with a sensible Working band, a believable Current check, and zone ranges that match how the session is meant to feel.

Interpreting Results:

Start with three outputs: Max HR, Working band, and the current zone label. They tell you what ceiling the calculation used, which range the session is trying to live in, and where today's pulse sits inside or outside that plan.

  • Below Z1 means the current reading is lower than the first displayed boundary. That is common during warm-up, cooldown, or very easy recovery.
  • Above Z5 or Above Z6 means the current reading is higher than the top displayed band. It does not by itself prove danger; it is a cue to check pace, terrain, heat, fatigue, and your max or resting inputs.
  • Moderate reference and Vigorous reference in Training Guide are comparison anchors, not personalized coaching bands. They stay at 50 to 70% and 70 to 85% of max heart rate.

The easiest false-confidence trap is a tidy age-based result. If Method Compare moves your endurance ceiling or threshold entry by enough beats to change pacing, retest or enter a known max. If Current check says you are inside focus but the talk test has already collapsed to one or two words, slow down and verify the inputs before treating the band as correct.

Worked Examples:

A quick base run from age alone

A 35-year-old chooses Age-based % of Max HR, keeps Tanaka selected, uses Classic 5, and enters a 60-minute session with Base endurance. The calculation uses Max HR 184 bpm. In Zone Metrics, Z1 is 92-110 bpm and Z2 is 110-129 bpm, so Key Markers shows a Working band of 92-129 bpm.

The Session Plan then spreads the hour into 36 min in Z1, 15 min in Z2, 6 min in Z3, 2.4 min in Z4, and 0.6 min in Z5. That is a sensible aerobic day because most of the time stays below the Endurance ceiling of 129 bpm.

A reserve-based tempo session with a live pulse check

A rider with Max HR 190 bpm and Resting HR 58 bpm switches to HR Reserve, picks Endurance 5, and sets Tempo focus for 45 minutes. Zone Metrics shows Z2 at 144-157 bpm and Z3 at 157-170 bpm. Because Tempo focus emphasizes the middle bands, Key Markers sets the Working band at 144-170 bpm.

If Current HR reads 166 bpm, the live result sits in Z3 and Current check shows it is inside focus. Method Compare is useful here because it makes the reserve-based shift obvious against plain %Max, especially for athletes whose resting pulse is low.

Fixing a custom setup that will not calculate

A coach note calls for four custom bands, but the first attempt enters 60,70,80,90 under Custom breakpoints. The red validation banner returns Last breakpoint must be 100. and no usable zones appear. Changing the list to 60,70,80,90,100 restores the four rows in Zone Metrics.

If the next step is a custom time split and the mix is entered as 60,25,15, Session Plan will still refuse to build because the custom mix must include four values. Adding a fourth percentage fixes the plan and lets the output show minutes for every band.

FAQ:

Is age-based mode good enough for everyday training?

Usually yes for a starting estimate, especially if the goal is simple pacing rather than race-level precision. It is weaker when Method Compare shows that different formulas move your endurance ceiling or threshold entry enough to change how you would train.

Why do reserve-based zones sit higher than plain %Max zones?

HR Reserve starts from resting pulse instead of zero. When resting heart rate is low, the same percentage lands at a higher bpm than plain %Max. The effect is strongest in the easier and middle bands.

Why do two neighboring zones sometimes touch at the same bpm?

The tool rounds each boundary to whole bpm unless you choose another rounding step. That can make one zone end at the same integer where the next zone begins. When that happens, read the full percentage row in Zone Metrics rather than treating the shared number as a hard physiological cliff.

Why does Current HR say Above Z5 or Above Z6?

That message means the live reading is higher than the last displayed band for the selected preset. It is not an automatic danger warning. Check pace, heat, terrain, fatigue, and whether the chosen max or resting value still looks believable.

Why will my custom settings not calculate?

Custom breakpoints must be strictly ascending and must end at 100. A custom intensity mix must contain the same number of values as the current zone count. If either rule is broken, the validation banner will stop the result until the input is corrected.

Glossary:

Maximum heart rate
The top pulse value used as the ceiling for age-based and custom %Max zone calculations.
Resting heart rate
The calm baseline pulse used to build heart rate reserve and shift reserve-based zones.
Heart rate reserve
The gap between maximum heart rate and resting heart rate.
Working band
The primary zone range highlighted for the chosen intensity mix or default steady work.
Talk test
A simple reality check that compares how easy speech feels against the zone the heart rate suggests.