Tools

Heart Rate Zone Calculator

Updated June 1, 2026

The Zonas heart rate zone calculator mirrors the app. It estimates max heart rate with Tanaka, uses Karvonen heart rate reserve when resting heart rate is available, and otherwise falls back to percent of max heart rate. Zone ranges are truncated the same way Swift Int math truncates them in the iOS app.

Interactive

Calculate your zones

Same math as the app. Add your resting heart rate for the Karvonen method, or leave it blank to use percent of max heart rate.

Max heart rate
  1. Zone 1 Recovery
  2. Zone 2 Aerobic
  3. Zone 3 Steady
  4. Zone 4 Hard
  5. Zone 5 Peak

A population estimate, not a lab test. If you have a measured or coach-prescribed maximum, enter it above — the app supports custom boundaries for the same reason.

The calculator is above. This page defines the method behind it.

The math comes straight from the iOS app, so the numbers here match what Zonas shows during a workout.

What The Calculator Returns

The calculator returns five heart rate zones:

ZoneLabel
Zone 1Recovery
Zone 2Aerobic
Zone 3Steady
Zone 4Hard
Zone 5Peak

It can calculate those zones in two ways.

If you know your resting heart rate, it uses Karvonen / heart rate reserve. If you do not, it uses percent of max heart rate.

Inputs

The calculator needs:

  • age, when maximum heart rate is not entered directly
  • optional custom maximum heart rate
  • optional resting heart rate

Age is used only to estimate maximum heart rate. Resting heart rate is used only when it is available. Zonas does not fill in a fake resting value.

Step 1: Maximum Heart Rate

If a custom maximum heart rate exists, use it.

Otherwise, estimate max heart rate with the same Tanaka fallback the app uses:

HRmax = 208 - trunc(0.7 x age)

For example:

AgeCalculationHRmax
30208 - trunc(21.0)187
40208 - trunc(28.0)180
25208 - trunc(17.5)191

The age 25 case is a useful guardrail. A rounded implementation would return 190. Zonas returns 191 because Swift Int(17.5) becomes 17.

Step 2: Choose The Zone Method

When resting heart rate is available:

reserve = HRmax - RHR
zone low = RHR + trunc(boundary x reserve)

When resting heart rate is not available:

zone low = trunc(boundary x HRmax)

The boundary list is the same in both cases:

50%, 60%, 70%, 80%, 90%, 100%

Step 3: Build Whole-BPM Ranges

Zonas uses closed ranges in BPM.

For Zones 1-4, the high end is one beat below the next boundary. Zone 5 ends at max heart rate.

high = next zone low - 1

That prevents overlap. If Zone 2 starts at 136, Zone 1 ends at 135.

Example: Age 30, Resting Heart Rate 60

Age 30 gives an estimated max heart rate of 187.

With resting heart rate 60, the reserve is 127.

ZoneLabelBPM
Zone 1Recovery123-135
Zone 2Aerobic136-147
Zone 3Steady148-160
Zone 4Hard161-173
Zone 5Peak174-187

Without resting heart rate, the same age uses percent of max heart rate:

ZoneLabelBPM
Zone 1Recovery93-111
Zone 2Aerobic112-129
Zone 3Steady130-148
Zone 4Hard149-167
Zone 5Peak168-187

Same person. Different model.

That is why the calculator should name the method it used instead of pretending all zone numbers are interchangeable.

What This Calculator Is Not

This is not a lab test. It does not know your lactate threshold, ventilatory thresholds, medication status, training history, sleep, illness, caffeine, or heat exposure.

It is a practical zone calculator that matches Zonas.

If you have a measured max heart rate or coach-prescribed zones, use those. The app supports custom boundaries for exactly that reason.

Weekly Cardio Minutes Are Separate

The weekly cardio minutes tool should not reuse this zone calculator.

That web tool asks for minutes:

moderate-equivalent minutes = moderate minutes + 2 x vigorous minutes

It does not classify workout samples the way the iOS app can. On the web, there are no live heart rate samples. So the simpler form is the honest one.

Common questions

Why does the calculator sometimes ask for resting heart rate?

Resting heart rate lets the calculator use heart rate reserve. If you do not know it, the calculator can still return zones using percent of maximum heart rate.

Does the calculator round heart rate zones?

No. It truncates intermediate BPM values to match the Swift app. Upper bounds stop one beat before the next zone starts, except the final zone.

Is Tanaka max heart rate exact?

No. It is a population estimate. Zonas uses it as a fallback when the user has not entered a measured or coach-prescribed maximum heart rate.

Is this the same as the weekly cardio minutes calculator?

No. This calculator returns workout zones. The weekly cardio tool is simpler: moderate minutes plus two times vigorous minutes.

Sources

  1. Age-predicted maximal heart rate revisited

    PubMed / National Library of MedicineAccessed Jun 1, 2026

    Tanaka max heart rate estimate: 208 - 0.7 x age.

  2. View Heart Rate Zones on Apple Watch

    Apple SupportAccessed Jun 1, 2026

    Consumer wearable zone UX commonly presents five zones and personalized automatic boundaries.

  3. Physical Activity Guidelines for Americans, 2nd edition

    U.S. Department of Health and Human ServicesAccessed Jun 1, 2026

    Vigorous activity can be treated as roughly double moderate activity for weekly aerobic targets.