Heart rate zone calculator
Garmin ships with zones built from 220 minus your age. That is one guess stacked on another, and it is why so many runners cannot stay in zone 2. Put in your own numbers and this page returns the five zone tops to type into the watch — under %Max. HR, %HRR and %LTHR at the same time, so you can see how far apart they are.
Read a FIT file from your watch
Export an activity from Garmin Connect and open it here. The file stays in your browser — it is never uploaded — and the values below are filled in for you: the zones the device is set to right now, plus its maximum and threshold heart rates.
- Maximum heart rate in the file
- —
- Lactate threshold in the file
- —
- Resting heart rate in the file
- —
- Best 20 minutes of heart rate
- —
- Zones the device was set to
- —
Nothing was entered, so this is a worked example — 40 years old, resting 60, lactate threshold 170. Replace the numbers on the left with your own.
Your maximum heart rate is estimated from your age. Individual error on that formula runs past 10 bpm, which is more than a whole zone: a measured maximum or a lactate threshold moves the numbers far more than any percentage tweak.
Fill these into Garmin
%LTHR
| Zone | BPM range | Type into Garmin | How it feels |
|---|---|---|---|
| Z1 | 111–136 65–80% |
136
|
Warm up and recovery |
| Z2 | 137–151 80–89% |
151
|
Easy aerobic. Full sentences out loud |
| Z3 | 152–162 89–95% |
162
|
Steady. Sentences get short |
| Z4 | 163–170 95–100% |
170
|
Threshold. About an hour of effort |
| Z5 | 171–180 ≥ 100% |
180
|
Maximum. Seconds to a few minutes |
Garmin keeps one number per zone: the top. The floor shown here is the previous zone's top plus one, so every bpm belongs to exactly one zone.
The three bases side by side
%Max. HR
Only your maximum heart rate, exactly what a Garmin watch ships with. Resting heart rate is ignored, so the zones sit low for anybody with a low resting pulse.
| Zone | BPM range | Type into Garmin | How it feels |
|---|---|---|---|
| Z1 | 90–108 50–60% |
108
|
Warm up and recovery |
| Z2 | 109–126 60–70% |
126
|
Easy aerobic. Full sentences out loud |
| Z3 | 127–144 70–80% |
144
|
Steady. Sentences get short |
| Z4 | 145–162 80–90% |
162
|
Threshold. About an hour of effort |
| Z5 | 163–180 90–100% |
180
|
Maximum. Seconds to a few minutes |
Garmin keeps one number per zone: the top. The floor shown here is the previous zone's top plus one, so every bpm belongs to exactly one zone.
%HRR
Karvonen: the percentage applies to your heart rate reserve (maximum minus resting) and is added back on top of the resting rate.
| Zone | BPM range | Type into Garmin | How it feels |
|---|---|---|---|
| Z1 | 120–132 50–60% |
132
|
Warm up and recovery |
| Z2 | 133–144 60–70% |
144
|
Easy aerobic. Full sentences out loud |
| Z3 | 145–156 70–80% |
156
|
Steady. Sentences get short |
| Z4 | 157–168 80–90% |
168
|
Threshold. About an hour of effort |
| Z5 | 169–180 90–100% |
180
|
Maximum. Seconds to a few minutes |
Garmin keeps one number per zone: the top. The floor shown here is the previous zone's top plus one, so every bpm belongs to exactly one zone.
BPM
Five zone tops typed in by hand, for comparing zones you already have in Garmin, Strava or any other device.
Needs five increasing zone tops, between 60 and 230 bpm.
How to set these zones on Garmin
-
On the watch:
UP / MENU→ User Profile → Heart Rate & Power Zones → Heart Rate. Enter Max. HR, LTHR and Resting HR first. Then: Zones → Based On →BPMor one of the three percentages. Older watches hide the same screen under Settings or My Stats. - In the Garmin Connect app: More → Garmin Devices → your device → User Settings → Heart Rate Zones → enter a value per zone → Save.
- On the Garmin Connect website: sign in → the device icon top right → your device → User Settings → scroll to Heart Rate Zones → enter a value per zone → Save.
Two things that make a freshly typed zone table look wrong afterwards: sport profiles can carry their own heart rate zones (Add Sport Heart Rate) and override the general ones, and the watch shows the boundary itself in both zones, which is why a range here may look one bpm narrower than on the device.
Why the default zones are so often wrong
Two guesses stack up. The watch estimates your maximum heart rate as 220 minus your age, and then slices that into fixed percentages. For an individual, the first estimate is off by more than 10 bpm often enough that a whole zone moves, and it is off in both directions: some runners never reach 60% of a too-high maximum, others sit above it while jogging easily.
The second problem is the anchor. A percentage of maximum heart rate says nothing about your resting pulse, so two runners with the same maximum and a 20 bpm difference in resting rate get identical zones even though their hearts work at visibly different rates. %HRR adds the resting rate back in, and %LTHR abandons the maximum altogether in favour of a threshold you can measure.
That is also why two platforms disagree. The same heart rate data produces different zone boundaries under different anchors, and a 10 to 15 bpm difference in where zone 2 starts is normal rather than a bug in either app.
Checking zone 2 without a lab
The talk test is the cheapest cross-check there is. At the top of zone 2 you can still speak in full sentences but would rather not; one sentence per breath is already zone 3. If your Garmin zone 2 leaves you unable to do that, the number is wrong and the basis is usually the reason.
For a threshold, the usual field test is 30 minutes as hard as you can hold, with the average of the last 20 minutes taken as your LTHR. Many Garmin watches also estimate it on their own: that estimate is the threshold heart rate the FIT reader below pulls out of the file.
Questions that come up
The zones I typed in do not match what the race predictor or the watch reports.
Garmin applies the zone table you set for the overall profile, but a sport profile can override it. Check for a separate running zone set under Add Sport Heart Rate, and remember that changing the maximum heart rate later rescales every zone you entered as a percentage.
Which basis should I actually run with?
If you have a trustworthy lactate threshold, use %LTHR: its zone 2 sits where the talk test says it should. Otherwise use %HRR with a measured resting rate, which already fixes most of the too-low zone 2 problem. Keep %Max. HR only if you have neither, and know that it is the least accurate of the three.
My resting heart rate is different every morning.
Use the average your watch reports over the last week, taken while you were asleep or before getting up. A single morning reading is affected by alcohol, illness and heat.
Do the percentages themselves matter?
Less than the anchor does. Moving from a bad maximum heart rate to a measured one shifts every boundary by 10 bpm or more; nudging zone 2 from 60-70% to 62-72% moves it by two.
Where these numbers come from
Percentage tables follow Garmin's own zone tables: the 50-60-70-80-90 ladder from the watch manuals for %Max. HR and %HRR, and the 65-80-89-95-100 ladder Garmin watches ship with for %LTHR. Boundaries are rounded to whole bpm and each zone ends one beat before the next one starts. This is training arithmetic, not medical advice.
Next: turn a race result into training paces with the VDOT calculator