| 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 | 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 based on your pulse, used to pace training and manage recovery with intent. They help you organize easy days and build toward harder sessions with fewer guesswork moments.
You provide either age to estimate a maximum, a known maximum, or both a maximum and a resting value to use reserve. The calculator returns zone ranges in beats per minute and an optional plan that spreads minutes across zones for a realistic workout flow.
For example, a steady endurance run might keep you mostly in easier bands with a small slice at moderate effort, while an interval day shifts more time to higher bands for short segments. Measure under consistent conditions and expect day to day variation, then adjust calmly rather than chasing a single number.
Numbers are training guides rather than medical rules, and personal responses differ. This tool provides informational estimates and does not substitute professional advice.
Heartbeat intensity is observed as beats per minute and summarized using a maximum value and optionally a resting value. Heart rate reserve is the difference between these two quantities and represents the workable span between rest and peak effort.
Zones are bands bounded by percentage breakpoints. With a percentage of maximum approach, each boundary is a fixed share of the maximum. With a heart rate reserve approach, each boundary is a fixed share of the reserve added back to resting so lower bands sit closer to rest and higher bands approach peak.
Results include lower and upper beats per minute for each band and a midpoint. A live reading can be classified into the current band using inclusive limits, and a session plan can allocate minutes across bands using presets or a custom mix that rescales to total one hundred percent.
Comparisons are most meaningful within the same person using the same device, at similar times of day, and with the same rounding step. Age based estimates are convenient but approximate; tested maximum and measured resting values usually improve specificity.
| Symbol | Meaning | Unit/Datatype | Source |
|---|---|---|---|
| Maximum heart rate | bpm | Estimated from age or entered directly | |
| Resting heart rate | bpm | Entered directly | |
| Heart rate reserve | bpm | Derived as Hmax − Hrest | |
| Breakpoint percentage | % of span | Preset or custom list, ascending, last is 100 | |
| Lower and upper zone bounds | bpm | Computed from method and breakpoints | |
| Zone midpoint | bpm | Average of bounds after rounding | |
| Rounding step | bpm | Nearest integer if zero, else nearest multiple of s | |
| Planned session duration | minutes | User input for time allocation | |
| Time distribution weight | percent | Preset or custom, rescaled to sum 100 |
| Model | Zones |
|---|---|
| Six bands | Recovery, Endurance, Tempo, Threshold, VO₂max, Anaerobic |
| Five bands | Recovery, Endurance, Tempo, Threshold, VO₂max |
| Four bands | Easy, Steady, Threshold, VO₂max |
| Three bands | Easy, Moderate, Intense |
All beats per minute are rounded to the nearest integer unless a step is set, in which case values round to the nearest multiple of that step. Percentages display with one decimal place.
| Field | Type | Min | Max | Step/Pattern | Error Text | Placeholder |
|---|---|---|---|---|---|---|
| Age | number | 10 | 100 | step 1 | — | 35 |
| Max heart rate | number | 100 | 230 | step 1 | “Invalid Max HR.” | 190 |
| Resting heart rate | number | 30 (UI), 20 (logic) | 120 (UI), 150 (logic) | step 1 | “Max HR must be greater than Resting HR for HRR.” | 60 |
| Current heart rate | number | 0 | 240 | step 1 | — | 140 |
| Breakpoints | comma‑separated % | >0 | ≤100 | strictly ascending, last is 100 | “At least two breakpoints are required.” “Breakpoints must be in (0, 100].” “Breakpoints must be strictly ascending.” “Last breakpoint must be 100.” | 50,60,70,80,90,100 |
| Custom mix | comma‑separated % | ≥0 | — | length must match zone count | “Enter N comma‑separated percentages…” “Custom mix must include N values.” “Intensity mix must include positive percentages.” | 60,25,10,5 |
| Rounding step | number | 0 | — | step 1 | — | 0 |
| Session duration | number | 0 | — | step 1 | “Unable to build session plan.” | 60 |
Zone tables and session plans can be copied or saved as CSV. A structured JSON snapshot is available, and a DOCX export compiles the current table with a short note.
Processing is browser‑based and input values remain on your device. No data is transmitted or stored on a server.
Heart rate zones for training with optional time allocation and a quick current‑band check.
Example. With 60 minutes and a base endurance mix in five bands, expect most minutes in Z1–Z2 with a small share in Z3.
No. Values stay on your device and outputs are generated locally. Nothing is sent to a server.
It is a population average. Individual maximums can differ. Using a tested maximum and measured resting usually improves specificity.
Age is quick, maximum is simple when known, and reserve personalizes all bands around your resting. Choose based on what you can measure reliably.
Values exactly on a boundary are included in that band. Small shifts from rounding or sensor lag may move a reading between adjacent bands.
Use a published equation for a quick estimate or a controlled test when appropriate. Always respect your limits and recover well after hard efforts.
Breakpoints include classic five, endurance five, polarized three, threshold four, and a six‑band cycling model. You can also enter custom percentages.
Yes. Once loaded, calculations and exports work without connectivity. Local clipboard and file permissions still apply.
Tables and plans can be copied, saved as CSV, captured as JSON, or exported to a DOCX summary for sharing or notes.