ForHosting KIT · Health & fitness

Heart rate calculator

At 30 years old your estimated maximum heart rate is 190 bpm: 220 minus your age in whole years, the Fox rule printed on treadmill stickers and club interval cards. One age in, one ceiling out. 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
30
You get
Hrmax bpm
190 bpm

A sports heart rate calculator turns age in whole years into an estimated maximum heart rate in beats per minute. The classic Fox identity used on gym consoles, club briefing cards, and interval sheets is two hundred twenty minus age.

What a sports heart rate estimate is and how the Fox identity works

Estimated maximum heart rate is the highest pulse in beats per minute that a person of a given age is expected to reach during all-out sport effort. Coaches still start zone sketches from that ceiling: easy recovery around fifty to sixty percent of the estimate, tempo work higher, and short intervals near the top of the range. In gyms and on club start lines the number people actually type is the Fox rule printed on treadmill stickers and cycling computers: two hundred twenty minus age in whole years.

Thirty years of age yields one hundred ninety beats per minute; forty years yields one hundred eighty; twenty-five years yields one hundred ninety-five. That identity is elementary on purpose. This landing is the sports heart-rate search: one integer age in, one bpm estimate out, no wearable sync, no multi-formula medical table, and no Gellish or Tanaka coefficients.

Where a deterministic sports heart rate calculator earns its keep

Club secretaries printing interval cards need the same bpm ceiling for every athlete from the same integer age, not a spreadsheet cell someone edited during a rain delay. Coaching apps that already store date of birth can derive age as a whole year and fill a max-heart-rate column without standing up a wearable vendor.

Classroom labs assign homework that subtracts age from two hundred twenty so students check one hundred ninety for age thirty, and they see a hard error when age is zero or one hundred fifty instead of a silent nonsense pulse. Failed validation does not consume balance. Keep requests small, pin the integer bpm values in tests, and you get reproducible sports heart-rate figures for LMS quizzes, member portals, and edge workers.

This landing is for people searching for a heart rate calculator, max heart rate from age, or the Fox two-hundred-twenty rule in sport. It is not a Gellish regression page, not a three-formula Fox–Tanaka–Gulati comparison table, not a Karvonen zone calculator, and not a measured pulse from a strap. Prefer this capability when you already know whole-year age and only need the classic sports bpm estimate.

Gym console and class briefing cards

Turn a member’s whole-year age into the Fox bpm ceiling so class plans and treadmill stickers quote the same maximum heart rate.

Coaching apps and training logs

Apps that already store date of birth call this once to fill a deterministic max-heart-rate column without a wearable vendor.

What happens if age is not a positive integer below 120?

Age must be a whole number from 1 through 119. Zero, negatives, decimals, missing values, and 120 or above are rejected and not billed.

Is this the Gellish or Tanaka formula?

No. This landing is the classic Fox rule used in sport: 220 minus age. Gellish is 207 − 0.7 × age and Tanaka is 208 − 0.7 × age; those are different searches.

What is the maximum heart rate for a 40-year-old?

By the Fox rule it is 220 minus 40, which is 180 beats per minute. At 25 it is 195, and at 30 it is 190. Enter the age in whole years.

How do I use the result for training?

Coaches sketch zones from that ceiling: easy recovery around 50 to 60 percent of the estimate, tempo work higher and short intervals near the top. This page gives only the ceiling, not a full zone table.

How accurate is an age-based maximum heart rate?

It is a population estimate, not a lab-grade peak or a clinical diagnosis. Medications, genetics and your true measured maximum can differ from 220 minus age, so treat it as a starting point for planning sessions.

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/sports/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/sports/heart-rate \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"age":30}'
{
  "age": 30
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "sports.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.

min_age1
max_age119
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.

Enter a positive integer age below one hundred twenty and the tool returns that bpm ceiling, the validated age, and the formula so a training log and an API client never disagree on the same athlete. Ages that are missing, zero, negative, fractional, or one hundred twenty and above fail with invalid_input and are not billed.

What a sports heart rate estimate is and how the Fox identity works

You get the validated age, hrmax_bpm from two hundred twenty minus age, unit tagged as bpm, method set to fox, and a formula string you can print next to a session. Zero, negative, or fractional ages are not meaningful for a whole-year Fox ceiling, and ages of one hundred twenty or more sit outside the supported range, so those cases fail loudly as invalid_input instead of inventing a pulse.

Input contract, integer age rule, response shape, and errors

Worked examples you can pin: age thirty yields one hundred ninety beats per minute; age forty yields one hundred eighty; age twenty-five yields one hundred ninety-five; age one yields two hundred nineteen; age one hundred nineteen yields one hundred one. Failed validation is not billed. Wire the free browser form for a personal training log or a classroom demo, then call the identical contract from scripts when you need bulk estimates. Do not treat the figure as a clinical diagnosis or a lab-grade peak: medications, genetics, and true measured maxima still vary. Keep age in whole years for the same athlete you are programming that day, and you get a reproducible Fox ceiling for dashboards and logs. POST a JSON body with required age as a positive integer strictly below one hundred twenty. The field may arrive as a JSON integer or as a whole-number string. Aliases age_years, years, and a are accepted so spreadsheets, query strings, and typed forms can reuse the same contract. Missing age, empty strings, NaN, Infinity, decimals such as thirty point five, zero, negative numbers, and ages of one hundred twenty or above fail with invalid_input naming the field. On success the body echoes the cleaned integer age, returns hrmax_bpm as two hundred twenty minus that age, tags unit as bpm, sets method to fox, and restates formula as HRmax = 220 - age so a report can print the identity next to the number. Successful API calls use prepaid KIT balance at the published $0.002 base price per item.

Where a deterministic sports heart rate calculator earns its keep

Gym operators and boutique studios turn member age into a console-style maximum so a class plan can quote percentages of Fox without reverse-engineering a treadmill that was never designed as an API.

Classroom Fox homework

Courses subtract age from two hundred twenty, pin expected JSON for age thirty as one hundred ninety bpm, and reject zero or out-of-range ages.

How is maximum heart rate estimated from age?

The Fox sports identity is HRmax = 220 − age, with age in whole years and HRmax in beats per minute. The response field hrmax_bpm holds that integer estimate.

What unit is the result in?

Beats per minute. The JSON includes hrmax_bpm, unit set to bpm, method fox, and the formula string HRmax = 220 - age.

What does the heart rate calculator cost?

The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →