Garmin estimates your VO2 max by analyzing the relationship between how hard your heart is working and how fast you’re moving. The core idea is simple: a fitter person can run faster (or produce more cycling power) at the same heart rate. The underlying technology comes from Firstbeat Analytics, which Garmin acquired in 2020, and it uses a neural network model that goes well beyond a basic heart rate formula.
The Core Algorithm
At its foundation, Garmin’s VO2 max estimate relies on three inputs derived entirely from your heart rate data. The first is the time between successive heartbeats (R-R intervals), which provides the raw heart rate signal. The second is your breathing rate, which the algorithm extracts from subtle variations in those heartbeat intervals rather than from a separate sensor. The third is something called on/off-response dynamics, which tracks how quickly your cardiovascular system responds to changes in exercise intensity.
These three inputs feed into a neural network that estimates your oxygen consumption in real time. The system is more sophisticated than a simple “heart rate divided by pace” calculation because each input corrects for known weaknesses in the others. For example, heart rate alone tends to overestimate oxygen consumption during recovery, because your heart rate stays elevated even after you slow down. The on/off-response component detects that you’re decelerating and adjusts the estimate downward.
Breathing rate plays a particularly clever role. It helps the algorithm distinguish between heart rate increases caused by actual physical effort and those caused by other factors like stress, caffeine, or simply standing up. Your breathing rate tracks very closely with true oxygen consumption, so when your heart rate spikes but your breathing rate doesn’t, the algorithm knows to discount that spike. This is one reason Garmin’s estimates tend to be more stable than simple heart rate formulas would predict.
Running vs. Cycling Calculations
For running, the algorithm pairs its heart rate analysis with your pace and, on supported devices, GPS elevation data. The basic relationship on flat ground is straightforward: oxygen cost scales linearly with speed. When you’re running on hills, the calculation adds a gradient component that accounts for the incline, using the formula that factors in both your speed and the angle of the slope. This is why trail runs with heavy elevation change can produce different (and sometimes less reliable) VO2 max readings than flat road runs.
Cycling uses an entirely different performance input: power. A power meter is required for Garmin to calculate a cycling VO2 max. Instead of estimating your workload from speed (which is heavily influenced by wind, drafting, and road surface), the algorithm uses your actual power output in watts as the measure of how much work your body is doing. It then compares that power output to your heart rate response, just as it compares pace to heart rate for running. Because the two activities stress the body differently, Garmin tracks running and cycling VO2 max as separate numbers.
What Triggers a New Estimate
Your watch doesn’t update your VO2 max after every workout. The activity needs to meet specific thresholds. For cycling, the requirements are clearly defined: the ride must last at least 20 continuous minutes, and your heart rate must stay above 70% of your maximum for that entire duration. You also need a power meter recording data throughout. For running, the requirements are similar in principle: you need sustained effort at a moderate-to-hard intensity with reliable GPS data.
Easy recovery runs, stop-and-go interval sessions with long rest periods, and activities with poor GPS signal often won’t produce a new estimate. Indoor treadmill runs can work on some devices, though accuracy depends on having a calibrated footpod or wrist-based pace detection. If you’ve noticed your VO2 max hasn’t updated in a while, the most likely reason is that your recent activities haven’t met the intensity or duration thresholds.
Heat and Altitude Adjustments
Your body works harder in hot weather and at elevation, which means your heart rate runs higher for the same pace. Without correction, this would make your VO2 max estimate drop every summer or whenever you travel to the mountains. Garmin addresses this with automatic environmental corrections.
When the temperature at the start of your activity is above 22°C (72°F), your watch applies a heat correction to prevent your score from being artificially penalized. Similarly, when your average altitude over the previous 24 hours is above 800 meters (about 2,625 feet), an altitude correction kicks in. These adjustments also feed into your training status, so a string of hot-weather workouts won’t falsely flag you as “detraining.” Over time, as your body acclimates to heat or altitude, the watch tracks that adaptation and adjusts its corrections accordingly.
How Accurate Are the Estimates
Garmin’s VO2 max number is an estimate, not a lab measurement. True VO2 max testing involves breathing into a mask while running to exhaustion on a treadmill, with direct measurement of the oxygen you consume. Garmin’s approach skips that entirely and infers your oxygen consumption from heart rate behavior. For most recreational runners and cyclists, the estimate falls within a few points of lab-tested values, which is close enough to be a useful fitness trend indicator.
Where the estimate struggles most is at the extremes. Very fit athletes sometimes find Garmin underestimates their VO2 max, partly because the heart rate-to-performance relationship flattens out at elite fitness levels. Beginners sometimes see inflated numbers early on as the algorithm calibrates. The number is most valuable not as an absolute score but as a trend line over weeks and months. A steadily rising VO2 max means your cardiovascular fitness is genuinely improving, regardless of whether the exact number matches what a lab would measure.
Several factors can throw off individual readings: a wrist-based heart rate sensor that slips during exercise, running on very hilly or technical terrain where GPS pace is unreliable, or doing a workout while dehydrated or sleep-deprived (both of which elevate heart rate independently of fitness). Using a chest strap heart rate monitor generally produces more consistent estimates than wrist-based optical sensors, especially during activities with a lot of arm movement.
What Your Score Means
Garmin categorizes VO2 max scores using age- and gender-based fitness percentiles. A score of 45 for a 30-year-old male, for instance, lands in a different fitness category than the same score for a 55-year-old female. The watch also converts your VO2 max into a “fitness age” by comparing your current score to the average VO2 max values of people across different age groups of your same gender. If you’re 40 with a VO2 max typical of an average 28-year-old, your fitness age displays as 28.
Beyond the fitness age label, your VO2 max feeds directly into several other Garmin features: predicted race times, training load recommendations, and recovery time estimates all use it as a baseline. This is why keeping the estimate accurate matters. The more consistent your data inputs (reliable heart rate, good GPS signal, steady-state efforts), the more useful everything downstream becomes.

