Bruce Protocol METs Calculator
Estimate your cardiovascular fitness level from treadmill exercise test duration

Understanding the Bruce Protocol Treadmill Test
The Bruce Protocol is a standardized cardiovascular fitness test developed by cardiologist Dr. Robert A. Bruce in 1963. It remains one of the most widely used graded exercise tests worldwide for estimating aerobic capacity and overall fitness levels.
The test uses a treadmill with progressively increasing speed and incline every three minutes. Your total exercise time is then used to calculate your estimated VO₂ max (maximal oxygen uptake), which indicates how efficiently your body uses oxygen during exercise.
VO₂ Max Estimation Formulas
Where T = Total test duration in minutes (e.g., 9 minutes 30 seconds = 9.5 minutes)
METs = VO₂ max ÷ 3.5 (since 1 MET = 3.5 ml/kg/min oxygen consumption at rest)
Gender: Male
VO₂ max = 14.8 – (1.379 × 12.5) + (0.451 × 156.25) – (0.012 × 1953.125)
VO₂ max = 14.8 – 17.24 + 70.47 – 23.44
VO₂ max = 44.59 ml/kg/min
METs = 44.59 ÷ 3.5 = 12.7 METs
Standard Bruce Protocol Stages
| Stage | Time (min) | Speed (mph) | Speed (km/h) | Grade (%) | METs |
|---|---|---|---|---|---|
| 1 | 0-3 | 1.7 | 2.7 | 10% | 4.6 |
| 2 | 3-6 | 2.5 | 4.0 | 12% | 7.0 |
| 3 | 6-9 | 3.4 | 5.5 | 14% | 10.2 |
| 4 | 9-12 | 4.2 | 6.8 | 16% | 12.1 |
| 5 | 12-15 | 5.0 | 8.0 | 18% | 14.1 |
| 6 | 15-18 | 5.5 | 8.9 | 20% | 16.1 |
| 7 | 18-21 | 6.0 | 9.7 | 22% | 18.1 |
Note: Each stage lasts exactly 3 minutes. The test continues until the participant reaches exhaustion or displays signs requiring termination.
VO₂ Max Classification by Age & Gender
Men (ml/kg/min)
| Age | Very Poor | Poor | Fair | Good | Excellent | Superior |
|---|---|---|---|---|---|---|
| 20-29 | <33 | 33-36 | 37-42 | 43-46 | 47-52 | >52 |
| 30-39 | <32 | 32-35 | 36-41 | 42-45 | 46-49 | >49 |
| 40-49 | <30 | 30-34 | 35-39 | 40-44 | 45-48 | >48 |
| 50-59 | <26 | 26-31 | 32-36 | 37-41 | 42-45 | >45 |
| 60+ | <21 | 21-26 | 27-32 | 33-36 | 37-44 | >44 |
Women (ml/kg/min)
| Age | Very Poor | Poor | Fair | Good | Excellent | Superior |
|---|---|---|---|---|---|---|
| 20-29 | <24 | 24-29 | 30-33 | 34-37 | 38-41 | >41 |
| 30-39 | <23 | 23-27 | 28-31 | 32-36 | 37-40 | >40 |
| 40-49 | <21 | 21-24 | 25-29 | 30-33 | 34-37 | >37 |
| 50-59 | <20 | 20-23 | 24-27 | 28-31 | 32-36 | >36 |
| 60+ | <18 | 18-20 | 21-24 | 25-30 | 31-34 | >34 |
Benefits of Knowing Your VO₂ Max
📊 Track Fitness Progress
VO₂ max provides an objective measure to track improvements in your cardiovascular fitness over time as you train.
🎯 Set Training Zones
Understanding your aerobic capacity helps establish effective training intensity zones for optimal results.
⚡ Optimize Performance
Athletes use VO₂ max data to fine-tune their training programs and maximize endurance performance potential.
🏃 Compare With Peers
Age and gender-specific norms allow you to see how your fitness level compares to others in your demographic.
Modified Bruce Protocol
The Modified Bruce Protocol includes two preliminary “warm-up” stages before the standard protocol begins. This version is designed for individuals who may have difficulty with the abrupt intensity of Stage 1 in the standard protocol.
| Stage | Time (min) | Speed (mph) | Grade (%) | METs |
|---|---|---|---|---|
| 0 (Warm-up) | 0-3 | 1.7 | 0% | 2.3 |
| 0.5 (Warm-up) | 3-6 | 1.7 | 5% | 3.5 |
| 1 | 6-9 | 1.7 | 10% | 4.6 |
| Continues with standard protocol stages 2-7… | ||||
Frequently Asked Questions
What is a good VO₂ max score?
A “good” VO₂ max varies by age and gender. For men aged 30-39, a good score is 42-45 ml/kg/min. For women in the same age range, 32-36 ml/kg/min is considered good. Elite endurance athletes often exceed 70 ml/kg/min for men and 60 ml/kg/min for women.
How long should I last on the Bruce Protocol?
The average healthy adult typically lasts 9-12 minutes on the standard Bruce Protocol. Well-trained individuals may reach 15+ minutes, while those new to exercise might stop at 6-9 minutes. The goal is to exercise until you cannot continue.
What does METs stand for?
METs stands for Metabolic Equivalent of Task. One MET equals the oxygen consumption at rest (3.5 ml/kg/min). An activity requiring 10 METs means you’re using 10 times more oxygen than at rest. Higher METs indicate more intense exercise.
Can I improve my VO₂ max?
Yes! Regular cardiovascular exercise, particularly interval training and sustained aerobic workouts, can improve VO₂ max by 15-30% in untrained individuals. Consistency over several weeks to months is key.
Is the Bruce Protocol accurate?
The Bruce Protocol provides an estimate of VO₂ max that correlates well with direct laboratory measurements. While not as precise as actual gas analysis, it’s highly validated and widely accepted for fitness assessment purposes.
Scientific References
- Bruce, R.A., Kusumi, F., & Hosmer, D. (1973). Maximal oxygen intake and nomographic assessment of functional aerobic impairment in cardiovascular fitness. American Heart Journal, 85(4), 546-562. ScienceDirect
- Vilela, E.M., et al. (2023). Sixty years of the Bruce protocol: reappraising the contemporary role of exercise stress testing with electrocardiographic monitoring. Porto Biomedical Journal, 8(5), e235. PMC
- American College of Sports Medicine. (2021). ACSM’s Guidelines for Exercise Testing and Prescription (11th ed.). Wolters Kluwer.
- Fletcher, G.F., et al. (2013). Exercise Standards for Testing and Training: A Scientific Statement From the American Heart Association. Circulation, 128(8), 873-934.
⚠️ Important Notice
This calculator provides estimates based on validated formulas for educational purposes. The Bruce Protocol is a maximal exercise test that should be administered under appropriate supervision. This tool is for general fitness knowledge only—always consult qualified professionals before beginning any new exercise program or if you have concerns about your cardiovascular fitness.
Bruce Protocol Test Results
' + 'Protocol: ' + (data.protocolType === 'standard' ? 'Standard' : 'Modified') + ' Bruce Protocol
' + 'Gender: ' + (data.gender === 'male' ? 'Male' : 'Female') + '
' + 'Age: ' + data.age + ' years
' + '' + '