Home › Sports & Fitness › VO2 Max Calculator
VO2 Max Calculator
Estimates maximal oxygen uptake (VO2max, ml/kg/min) from the distance covered in the Cooper 12-minute run test, and/or from the ratio of maximum to resting heart rate (Uth et al. 2004).
When to use
You have a 12-minute run distance or resting and maximum heart rates and want a field estimate of aerobic fitness.
Do not use when: A laboratory or wearable-measured VO2max is available, or the person cannot run continuously for 12 minutes; the heart-rate method also requires a true (measured) maximum heart rate.
Formula
Cooper: VO2max = (distance_m − 504.9) / 44.73; heart-rate ratio: VO2max = 15.3 × max_heart_rate / resting_heart_rate (ml/kg/min)
Cooper (1968) correlated 12-minute run distance with treadmill VO2max in US Air Force personnel (r = 0.90). The heart-rate ratio method (Uth 2004) was derived in trained men; its standard error is about 4.5 ml/kg/min.
Inputs
| Parameter | Type | Unit | Required | Description |
|---|---|---|---|---|
distance_m | number | m | no | Distance covered in 12 minutes of running (Cooper test). Omit if using heart rates only. Range: ≥ 600, ≤ 6000 |
resting_heart_rate | number | bpm | no | Resting heart rate, measured on waking. Needed together with max_heart_rate for the heart-rate ratio method. Range: ≥ 25, ≤ 150 |
max_heart_rate | number | bpm | no | Measured maximum heart rate (an age formula such as 220 − age adds error). Range: ≥ 80, ≤ 250 |
Outputs
| Output | Type | Unit | Description |
|---|---|---|---|
vo2max_ml_kg_min | number | ml/kg/min | Primary estimate: Cooper test when distance_m is given, otherwise the heart-rate ratio method. |
method | string | Which estimate is reported as primary. | |
vo2max_cooper_ml_kg_min | number | ml/kg/min | (distance_m − 504.9) / 44.73; only when distance_m is given. |
vo2max_heart_rate_ratio_ml_kg_min | number | ml/kg/min | 15.3 × max_heart_rate / resting_heart_rate; only when both heart rates are given. |
Example
Cooper test 2800 m: {"distance_m":2800} → {"vo2max_ml_kg_min":51.3,"vo2max_cooper_ml_kg_min":51.3,"method":"Cooper 12-minute run test"}
Resting 60 bpm, max 180 bpm: {"resting_heart_rate":60,"max_heart_rate":180} → {"vo2max_ml_kg_min":45.9,"vo2max_heart_rate_ratio_ml_kg_min":45.9,"method":"Heart-rate ratio (Uth 2004)"}
GET https://tttkmbb.com/api/v1/calculate/vo2-max?distance_m=2800
Machine access
- API:
GET https://tttkmbb.com/api/v1/calculate/vo2-max(query parameters) orPOSTwith a JSON body{"inputs": {...}} - Schema: https://tttkmbb.com/api/v1/calculators/vo2-max · Markdown: https://tttkmbb.com/fitness/vo2-max.md · JSON definition: https://tttkmbb.com/fitness/vo2-max.json
- MCP: server
https://tttkmbb.com/mcp, toolrun_calculator with calculator_id="vo2-max" - OpenAPI operationId:
estimate_vo2_max - Freshness:
static. Authentication: none. Rate limit: fair use (see rate limits).
Sources
FAQ
What is a good VO2 max?
Population norms depend strongly on age and sex: roughly 35–45 ml/kg/min for healthy adults in their 30s, above 55 for well-trained endurance athletes and 70–85 for elites.
Can I use 220 − age for the maximum heart rate?
You can, but the individual error of age formulas (±10–12 bpm) propagates directly into the estimate; a measured maximum from an all-out effort is better.
Related calculators
- Heart Rate Zone Calculator — Training zones from the same maximum and resting heart rates.
- Race Time Predictor — Predict race times from a known performance.