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.

Only used for the age-based maximum heart rate.
Using 180 bpm for your maximum.
Clear this field if you have never measured it: the %HRR table then says so instead of guessing.
Compare against zones you already have

Optional: five increasing zone tops. They are shown next to the calculated ones, which is how you see why two devices disagree.

Calculating…

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

  1. 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 → BPM or one of the three percentages. Older watches hide the same screen under Settings or My Stats.
  2. In the Garmin Connect app: More → Garmin Devices → your device → User Settings → Heart Rate Zones → enter a value per zone → Save.
  3. 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