ForHosting KIT · Health & fitness

Maximum heart rate calculator

At 40, the Fox and Tanaka formulas both predict a maximum of 180 bpm and Gulati predicts 170.8, an average of 176.93. Enter your age and compare the classic rule with two research equations at once. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Age in years
40
You get
Fox bpm
180 bpm
Tanaka bpm
180
Gulati bpm
170.8
Mean bpm
176.93

This maximum heart rate calculator estimates how high your heart rate in beats per minute is expected to climb during all-out effort, using only your age. It applies three well-known population formulas side by side: the classic Fox rule of thumb two hundred twenty minus age, the Tanaka regression two hundred eight minus zero point seven times age, and the Gulati equation two hundred six minus zero point eight eight times age. Seeing all three at once helps you compare a simple classroom rule against research-based alternatives without running a lab stress test. The engine is fully deterministic: the same age always yields the same rounded bpm values, with no network calls, no sampling, and no date-dependent shortcuts.

Where age-based HRmax fits in training, teaching, and software

Coaches and athletes often start zone planning with an age-predicted ceiling before refining with field tests or lab data, and comparing Fox against Tanaka and Gulati shows how much the simple two hundred twenty rule can drift from research regressions at older ages. Teachers can pre-generate answer keys for modest ages without trusting opaque apps that silently change coefficients or drop decimals.

Developers call the same contract from scripts to seed deterministic test vectors for heart-rate zone UIs, to normalize user-entered ages before intensity demos, or to satisfy programming-challenge statements that demand multi-formula HRmax rather than a single hardcoded constant. Contest and certification practice sometimes needs a fast, offline source of bpm estimates so solutions can be checked without laboratory equipment. Product and education tools use the estimate when a learner types an age and the UI must show several textbook formulas side by side with a clear mean.

Training zone starting points

Estimate HRmax from age with Fox, Tanaka, and Gulati so athletes and coaches can sketch intensity bands before field testing.

Homework and fitness education

Generate reproducible bpm answers for textbooks, quizzes, and labs that teach the classic maximum heart rate formulas.

What does the maximum heart rate calculator cost?

It is free in your browser on this page.

Which formulas are used?

The response also includes the mean, min, and max of those three estimates.

What happens if age is zero or negative?

Age must be a positive finite number; non-positive values are not valid for these maximum heart rate formulas.

Is this a medical measurement of my true max heart rate?

No. These are population regression estimates from age alone. True individual maximums vary; use clinical or supervised testing when precision matters for health decisions.

Why are results rounded to a precision?

Default precision is 2 decimal places; you can set precision from 0 to 15.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/health/max-heart-rate

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/health/max-heart-rate \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"age":40}'
{
  "age": 40
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "health.max_heart_rate",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_age120
min_age1e-9
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

What maximum heart rate means and what the response contains

Maximum heart rate is an estimate of the highest sustainable pulse in beats per minute that a person of a given age can typically reach under maximal exertion. Trainers and textbooks use it as a reference when sketching intensity zones such as sixty to seventy percent of HRmax for easy endurance or eighty to ninety percent for harder intervals, even though true individual peaks still vary with genetics, medications, and fitness. This calculator does not measure your pulse; it applies closed-form population equations to age alone and returns structured numbers you can cite or wire into software. For each request you get the validated age, fox_bpm from the classic two hundred twenty minus age formula, tanaka_bpm from two hundred eight minus zero point seven times age, gulati_bpm from two hundred six minus zero point eight eight times age, plus mean_bpm, min_bpm, and max_bpm across those three so you can see central tendency and spread at a glance. The response also tags unit as bpm, method as fox_tanaka_gulati, the precision used for rounding, a formulas object with each equation string, and a short formula summary field. There is no wearable sync path and no random noise: the engine either builds finite bpm estimates inside the supported age range or rejects the input with invalid_input. Rejected cases include missing age, non-finite values, ages above the documented ceiling, and any non-positive age, because zero or negative years are not meaningful for these models.

How age is read and how Fox, Tanaka, and Gulati stay reproducible

Optional leading plus signs and scientific notation on age strings are allowed when they parse as finite decimals; embedded spaces, hex prefixes, and non-numeric tokens are rejected with a clear message so a bad cell does not become a wrong heart-rate ceiling. The mean is the arithmetic average of the three estimates; min and max are the extremes of that same trio, which is useful when you want a conservative lower bound or an upper envelope without inventing a fourth model. The preferred field is age in years, but aliases age_years, years, and a are accepted so spreadsheets, query strings, and typed forms can reuse the same contract. Age must be strictly positive: zero, negative numbers, and non-finite values fail with invalid_input because the classic formulas are not defined for non-positive age. An optional precision field, with aliases decimals and dp, chooses how many decimal places to expose for age and every bpm field, defaulting to two and capped at fifteen so JSON goldens stay stable. Pair the free browser run on this page with the priced API when you need the identical mathematical result inside an automated pipeline without re-implementing the three equations yourself.

Where age-based HRmax fits in training, teaching, and software

On this page the work runs entirely in your browser; through the API each successful lookup costs $0.002, failed validation is not charged, and nothing is stored after the response returns. That split — free interactive exploration and a priced, identical API — matches the rest of the KIT tier-A catalog and lets you move from a classroom demo to an automated pipeline without changing the mathematical result. Pair it with pace, VO2, or other health endpoints when you are building a small lab of free, deterministic fitness helpers, and always treat population formulas as estimates rather than medical diagnosis.

Deterministic software fixtures

Seed unit tests and coaching apps with stable multi-formula HRmax outputs without re-implementing the equations.

Read the full KIT documentation →