VO2 Max Calculator

The VO2 Max Calculator helps you estimate aerobic capacity from common field inputs. Start with the numbers you actually have, choose the unit that matches your watch or race plan, and use the result as a plain-English checkpoint. It is built for runners in the US who think in miles first but still need clean kilometer support for workouts, races, and coaching notes. Next steps: related calculator 1, related calculator 2.

Cooper test
VO₂ max42.4 ml/kg/min
Intensity (MET)12.1
Pace at VO₂ max5:09 /km
12-min distance1.49 mi
Fitness (general guide)Above average — 2.4 km covered

2.4 km

How it works

VO₂ max = (distance in metres − 504.9) ÷ 44.73

This page keeps the calculation centered on one relationship: VO₂ max = (distance in metres − 504.9) ÷ 44.73. Inputs are normalized before the final display, which keeps mile, kilometer, pace, speed, or zone outputs from drifting because of rounding. Use the number as a consistent model output, then layer in terrain, weather, recovery, and race execution. Keep the fixed reference values in view: 46–50 m, 10%, 30, 2003, 1, 2005.Kenneth Cooper’s 1968 field test relates the distance you can cover in a hard 12-minute run to your maximal oxygen uptake. The regression VO₂ max = (metres − 504.9) ÷ 44.73 gives a result in millilitres of oxygen per kilogram of body weight per minute — the same units as a laboratory test. From VO₂ max we also derive your MET intensity (VO₂ max ÷ 3.5, since one MET is 3.5 ml·kg⁻¹·min⁻¹ — see Ainsworth’s Compendium of Physical Activities) and your velocity at VO₂ max using the ACSM running equation in reverse: VO₂ max = 0.2 × speed + 3.5, so speed = (VO₂ max − 3.5) ÷ 0.2 metres per minute, which we express as a pace. The test assumes a maximal, evenly paced effort on a flat course. Table 1 — VO₂ max norms by age and sex (ml/kg/min), from the Cooper Institute, Physical Fitness Specialist Manual (2005). The five bands are contiguous, so every score falls in exactly one category; a value of 44 for a man aged 20–29, for example, lands squarely in "Fair" (42–45). | Age | Sex | Poor | Fair | Good | Excellent | Superior | | --- | --- | --- | --- | --- | --- | --- | | 20–29 | Male | ≤41 | 42–45 | 46–50 | 51–55 | 56+ | | 20–29 | Female | ≤35 | 36–39 | 40–43 | 44–49 | 50+ | | 30–39 | Male | ≤40 | 41–43 | 44–47 | 48–53 | 54+ | | 30–39 | Female | ≤33 | 34–36 | 37–40 | 41–45 | 46+ | | 40–49 | Male | ≤37 | 38–41 | 42–45 | 46–52 | 53+ | | 40–49 | Female | ≤31 | 32–34 | 35–38 | 39–44 | 45+ | | 50–59 | Male | ≤34 | 35–37 | 38–42 | 43–49 | 50+ | | 50–59 | Female | ≤28 | 29–30 | 31–34 | 35–39 | 40+ | | 60–69 | Male | ≤30 | 31–34 | 35–38 | 39–45 | 46+ | | 60–69 | Female | ≤25 | 26–28 | 29–31 | 32–36 | 37+ | | 70–79 | Male | ≤27 | 28–30 | 31–35 | 36–41 | 42+ | | 70–79 | Female | ≤23 | 24–26 | 27–29 | 30–36 | 37+ | Table 2 — as a quick descriptor independent of age, runners often use these broad bands: | VO₂ max (ml/kg/min) | Descriptor | | --- | --- | | 30–40 | Recreational / general fitness | | 40–50 | Fit / regular runner | | 50–70+ | Competitive distance runner | | 70+ | Elite (world-class endurance) | For a race-derived equivalent of these numbers, the VDOT fitness score maps recent race times onto a comparable aerobic scale, and your critical speed gives the sustainable velocity that tends to track VO₂ max as it improves.

Sources

FAQ

When should I use the vo2 max calculator?

Use it when you want a fast planning number before a run, race, workout, or gear decision. It gives you a consistent estimate without asking you to create an account.

What inputs matter most?

The best result comes from honest, current inputs. Recent race times, realistic body measurements, accurate workout data, and the correct unit setting matter more than perfect formatting. Keep the fixed reference values in view: 12 m.

How should I read the result?

Treat the output as a planning reference, not a promise. Use it to compare options, set a target range, or sanity-check your watch data before making the final call.

Does this work in miles and kilometers?

Yes. PacerRunning is written for US runners first, so miles are easy to use, but metric conversions are kept alongside them where the tool needs both views. Keep the fixed reference values in view: 30–40, 40–50, 50–70, 70, 60.

Why might my real-world result differ?

Terrain, wind, heat, sleep, fueling, training fatigue, and measurement error can all move the real outcome away from the estimate. The VO2 Max vo2 max calculator cannot see those details. Keep the fixed reference values in view: 2005, 1, 46–50 m, 20–29, 44–47, 30–39, 42–45, 40–49.

Can beginners use it?

Yes. You do not need advanced training knowledge. Enter the numbers you know, read the result as a guide, and keep your effort comfortable when you are unsure. Keep the fixed reference values in view: 2005, 42–50 m, 41–47, 38–45, 35–42, 31–38, 60–69, 36–43.

Can competitive runners use it too?

Yes. Faster runners can use the same output to check pacing, compare workouts, and keep training zones aligned with a recent performance. Keep the fixed reference values in view: 70, 80, 60, 90, 50–70.

Is this professional advice?

No. The result is general information for training and planning. For medical concerns, injury questions, nutrition treatment, or a personal race plan, work with a qualified professional. Keep the fixed reference values in view: 3–5 m.

When should I use the vo2 max calculator?

Use it when you want a fast planning number before a run, race, workout, or gear decision. It gives you a consistent estimate without asking you to create an account.

VO2 Max Calculator results are estimates from the entered data and the cited method. They are useful for planning and comparison, but they are not a diagnosis, prescription, guaranteed race result, or substitute for a coach or clinician. Keep the fixed reference values in view: 12.

Embed this calculator

Add the vo2 max calculator to your website or club page — free, no sign-up. Paste this snippet where you want the calculator to appear:

<script src="https://pacerrunning.net/embed/vo2-max-calculator.js" async></script>