| 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 | — | — | — | — |
| 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 }} |
| {{ header.label }} |
|---|
| {{ row[header.key] }} |
| 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.
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.
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.
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.
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.
| 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 |
| Preset | Band | Lower % | Upper % | Default label |
|---|---|---|---|---|
| Classic 5 | Z1 | 50 | 60 | Recovery |
| Classic 5 | Z2 | 60 | 70 | Endurance |
| Classic 5 | Z3 | 70 | 80 | Tempo |
| Classic 5 | Z4 | 80 | 90 | Threshold |
| Classic 5 | Z5 | 90 | 100 | VO2max |
| Endurance 5 | Z1 | 55 | 65 | Recovery |
| Endurance 5 | Z2 | 65 | 75 | Endurance |
| Endurance 5 | Z3 | 75 | 85 | Tempo |
| Endurance 5 | Z4 | 85 | 92 | Threshold |
| Endurance 5 | Z5 | 92 | 100 | VO2max |
| Polarized 3 | Z1 | 60 | 80 | Easy |
| Polarized 3 | Z2 | 80 | 90 | Moderate |
| Polarized 3 | Z3 | 90 | 100 | Intense |
| Threshold 4 | Z1 | 60 | 70 | Easy |
| Threshold 4 | Z2 | 70 | 80 | Steady |
| Threshold 4 | Z3 | 80 | 90 | Threshold |
| Threshold 4 | Z4 | 90 | 100 | VO2max |
| Cycling 6 | Z1 | 55 | 68 | Recovery |
| Cycling 6 | Z2 | 68 | 78 | Endurance |
| Cycling 6 | Z3 | 78 | 87 | Tempo |
| Cycling 6 | Z4 | 87 | 93 | Threshold |
| Cycling 6 | Z5 | 93 | 97 | VO2max |
| Cycling 6 | Z6 | 97 | 100 | Anaerobic |
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.
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.
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.
The quickest path is one method choice, one zone model, then a short trust check.
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.
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.
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 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.
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.
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.
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.
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.
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.
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.