ForHosting KIT · Health & fitness

VO2 max Uth-Sørensen calculator

A maximum heart rate of 190 and a resting pulse of 60 give an estimated VO2 max of about forty-eight and a half mL/kg/min with the Uth-Sørensen method. Enter both heart rates to estimate aerobic fitness without any exercise test. 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
Hr max
190
Hr rest
60
You get
Hr ratio
3.1666666667
Vo2max ml kg min
48.4500000005
Unit vo2max
ml/kg/min
Uth factor
15.3

The Uth–Sørensen–Overgaard–Pedersen method estimates maximal oxygen uptake from a simple ratio of two heart rates: your maximum heart rate divided by your resting heart rate, scaled by the published constant fifteen point three. Coaches, PE teachers, and endurance athletes use this heart-rate ratio approach when a measured or predicted HRmax and a true resting pulse are available but a metabolic cart or a timed field test is not.

Aerobic fitness from two heart rates

VO2 max is the highest rate at which your body can take up and use oxygen during hard exercise, usually given in millilitres per kilogram of body weight per minute. A laboratory measures it by analysing your breath on a treadmill or bike, and field tests estimate it from a run or a walk. The Uth, Sørensen, Overgaard and Pedersen method takes a shorter route: it divides your maximum heart rate by your resting heart rate and multiplies the result by 15.3. With a maximum of 190 and a resting pulse of 60, the ratio is a little over three and the estimate is about forty-eight and a half.

When it helps, and how to get good inputs

Coaches, PE teachers and endurance athletes use it when they have a measured or predicted maximum heart rate and a true resting pulse but no metabolic cart and no time for a timed field test, for example on school fitness screening days. Because the resting value sits under the division line, it has a strong effect: take it when you are genuinely at rest. The maximum must be higher than the resting rate, and the result remains an estimate from two numbers, not a laboratory measurement.

PE classes and fitness screening days

Teachers record resting and peak heart rates and convert them to estimated VO2 max with a stable formula for grading sheets and aerobic fitness standards.

What happens if HRmax is less than or equal to resting HR?

Maximum heart rate must be strictly greater than resting heart rate; equal or inverted values cannot form a valid ratio trial and are not charged.

Do I need distance, age, or body weight?

No. This method uses only maximum and resting heart rate in bpm. Distance-based Cooper or Rockport tests and age-sex tables are separate products.

Is the VO2 max Uth–Sørensen calculator free?

The browser tool runs free on your device.

Is this the same as laboratory VO2 max?

No. This is a field estimate from the heart-rate ratio regression, not gas-exchange VO2 peak from a metabolic cart. Use it for practical aerobic screening, not clinical diagnosis.

What VO2 max do a maximum heart rate of 190 and a resting rate of 60 give?

About forty-eight and a half mL/kg/min. The ratio of 190 to 60 is a little over three, and the method multiplies that ratio by 15.3.

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/vo2max-uth

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/vo2max-uth \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"hr_max":190,"hr_rest":60}'
{
  "hr_max": 190,
  "hr_rest": 60
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "health.vo2max_uth",
  "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.

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.

This capability takes hr_max and hr_rest in beats per minute, validates that both are positive finite values with maximum strictly above rest, multiplies fifteen point three by their ratio, and returns structured JSON with the ratio, estimated VO2 max in millilitres per kilogram per minute, and the formula string. The path is pure arithmetic with no network and no random seed, so homework checkers, training apps, and prepaid API clients get identical results every time. Invalid inputs raise a clear invalid_input error and are not charged.

What the Uth–Sørensen heart-rate ratio method measures and which inputs you need

VO2 max is the highest rate at which your body can take up and use oxygen during intense exercise, usually expressed in millilitres of oxygen per kilogram of body mass per minute. Laboratory protocols measure it with gas exchange on a treadmill or bike, but many coaches still need a practical estimate from heart rates alone. The Uth–Sørensen–Overgaard–Pedersen formula maps the ratio of maximum heart rate to resting heart rate into estimated VO2 max with a single scaling constant: VO2 max equals fifteen point three times HRmax over HRrest. Send required hr_max as a positive finite bpm value; aliases hrmax, max_hr, maximum_heart_rate, and hrm are accepted. Send required hr_rest as a positive finite resting bpm; aliases hrrest, rest_hr, resting_heart_rate, and rhr are accepted. Maximum must be strictly greater than rest—equal or inverted rates cannot describe a valid ratio trial and fail with invalid_input. The engine echoes both inputs, reports hr_ratio as HRmax divided by HRrest, and returns vo2max_ml_kg_min with unit_vo2max set to ml/kg/min. Identical inputs always yield identical JSON because the algorithm never touches the network, a model, a clock, or a random generator. Missing fields, non-finite values, non-positive bpm, unrealistic rates above the isolate ceiling, and inverted pairs all fail with invalid_input and are not charged.

Reading the response fields and common measurement pitfalls

Use a true resting pulse taken after several minutes of quiet sitting, ideally morning, not a mid-day average while walking. HRmax should be a measured peak from a maximal effort test when possible; age-predicted formulas such as two hundred twenty minus age are popular substitutes but add their own bias, and this calculator does not invent HRmax from age. Remember that the estimate assumes honest inputs and a healthy cardiovascular response—medications, illness, heat, caffeine, and poor sensor contact all bias heart rates, and this tool does not correct for environment. On success the response echoes hr_max and hr_rest after normalisation, hr_ratio as the dimensionless maximum-to-rest quotient, and vo2max_ml_kg_min as the estimated maximal oxygen uptake. The unit_vo2max field is always ml/kg/min so UIs can label the number without hard-coding strings. The formula field restates VO2 max equals fifteen point three times HRmax over HRrest, method is always uth_sorensen_hr_ratio, and uth_factor echoes the constant fifteen point three so downstream code can branch without sniffing shapes. Non-positive or inverted rates raise a clear invalid_input message. Do not confuse this endpoint with Cooper twelve-minute distance tests, Rockport one-mile walk equations, Karvonen training zones, or laboratory VO2 peak: those are different intents and live in separate products.

API usage, pricing, coaching workflows, and practical limits

Call the free in-browser VO2 max Uth–Sørensen calculator for PE classes, club fitness days, and quick athlete checks without building a spreadsheet of constants. Keep expectations clinical: this is an educational and planning field estimate, not a diagnostic medical device, and athletes with health conditions should follow professional advice rather than any single formula alone. Send a JSON body with required hr_max and hr_rest in beats per minute. Use the prepaid API when a coaching SaaS, sports-science notebook, school LMS, or training log needs a stable contract under KIT balance at $0.002 per successful item; validation failures never consume balance after the engine rejects the request. Pair this endpoint with your own resting-pulse protocol and an honest HRmax source, then store vo2max_ml_kg_min alongside date and conditions for longitudinal charts. Prefer measured peak heart rate from a maximal field or lab effort; if your UI only has age-predicted HRmax, compute that client-side and pass the result as hr_max so the engine stays a pure ratio transform. Authors shipping SDKs can map vo2max_ml_kg_min directly into dashboards and export CSV columns labeled heart-rate ratio and estimated VO2 max—the same numbers coaches compute by hand after recording rest and max bpm.

Endurance coaching apps and training logs

Apps that already store HRmax and resting pulse call a prepaid endpoint for VO2 max instead of reimplementing the Uth–Sørensen constant in every client language.

Sports science homework and automated checkers

Courses compare heart-rate ratio estimates to lab VO2 peak and pin expected JSON in automated tests with deterministic Uth–Sørensen outputs.

What is the Uth–Sørensen VO2 max formula?

VO2 max in ml/kg/min equals 15.3 × (HRmax / HRrest), where both heart rates are in bpm. This calculator applies that ratio method exactly.

Read the full KIT documentation →