Garmin vs Apple watch hiking track length

A deep dive into GPX files, sensor fusion, and why your hiking apps might be quietly rewriting your data

Florian Maurer

hikinggpsapple watchgarmindata-analysis

1464 Words

2026-09-11 00:00 +0000


It started as a simple question after a long day in the mountains: How far did we actually walk?

On August 4th, we tackled the trail from Halleranger Haus to Hinterhorn Alm in the Austrian Alps. A few were wearing an Apple Watch (Series 7); Others were wearing a Garmin watch. The brands have a similar technical sensor specs: barometers, accelerometers, and GPS.

When we finished the hike, the Apple Watches displayed a total distance of 16.12 km and nearly 900 meters of elevation gain. The Garmin devices, however, showed a distance closer to 15 km.

Curious about the discrepancy, I decided to dive into the information and look under the hood - using the GPX. I then found out that there are multiple eventually correct interpretations of the “distance”.

I first thought that one did not account for the elevation distance, while the other does (so 2D distance vs 3D distance), but this was not the case. Instead, the Garmin uses the actual track distance while the Apple watch uses the distance the person walked. The latter includes a lot of small steps to the side and back and forth, which accumulates to a few percentages of difference.


Act I: The CoMaps Confusion

To share and compare the routes, both GPX files were initially exported through an app called CoMaps.

When we ran the mathematical distance on these exported tracks, they were remarkably consistent with each other:

  • Apple Watch (via CoMaps): 14.71 km
  • Garmin (via CoMaps): 14.70 km

But there was a glaring problem: 14.7 km is nowhere near the 16.12 km the Apple Watch reported on its screen. Furthermore, the elevation gain for both files was hovering around 700 meters—nearly 200 meters less than what the watches had reported during the hike.

Why were the GPX files missing a kilometer and a half of distance and 200 meters of climbing?

GPX Track of the day visualized

GPX Track of the day visualized

Act II: The Komoot Effect

To figure out where the data went, we had to trace the files backward. Before the tracks arrived in CoMaps, they were routed through Komoot. We managed to pull the “raw” exports directly out of Komoot, without importing and exporting it on another device.

Instantly, the file sizes jumped. The CoMaps Apple file was 1.5 MB; the Komoot Apple file was 4.0 MB.

Looking at the raw data, we found out that CoMaps downsamples the GPX files to save space. It had deleted over 55% of the Apple Watch’s GPS points, dropping the tracking frequency from one point every second to one point every 2.3 seconds. Furthermore, it stripped all the decimal places off the elevation data (turning 1769.8m into 1769m). Both is not really relevant in practice but can be very important for details.

But while bypassing CoMaps restored the missing GPS points, it didn’t fix the missing elevation. The Komoot files still showed around 700 meters of climbing, not 900 and the distance did not match the one told on the Apple Watch either.

Similarly, on the Garmin watch we found the actual elevation of 927 meters of ascent when exported directly from the Garmin App. This was different to the Komoot data from the Garmin app.

The Culprit: When you import a track into Komoot, it doesn’t trust your watch’s highly accurate barometric altimeter. Instead, it quietly overwrites your elevation data by comparing your GPS coordinates to its own 3D map database (a Digital Elevation Model). Because 3D maps are often smoothed out and underestimate jagged, rocky alpine trails, Komoot artificially flattened the hike by 200 vertical meters.

Act III: Digging to the Roots

So we had solved the elevation mystery. But we still had a massive discrepancy in distance of the Apple watch and its own GPX export from Komoot.

Even looking at the pristine, raw, unedited Apple Watch GPX file with all 29,353 tracking points preserved, the mathematical point-to-point distance was only 15.1 km. Even when we factored in the steepness of the slopes (3D distance), it barely reached 15.4 km.

How could the Apple Watch display 16.12 km on its screen, while generating a GPX file that roughly matches the distance Garmin measured as well?

To find the answer, I luckily got access to Apple’s raw HealthKit XML database export.

This includes a few large XML files with a specific block for the hike GPX - here we found the actual distance shown in Apple Health:

  <!-- True distance calculated via Sensor Fusion (16.1257 km) -->
  <WorkoutStatistics type="HKQuantityTypeIdentifierDistanceWalkingRunning" sum="16.1257" unit="km"/>

  <!-- The actual GPX file link containing the 15.1 km GPS line -->
  <WorkoutRoute sourceName="Apple Watch von Eva">
   <FileReference path="/workout-routes/route_2026-08-04.gpx"/>
  </WorkoutRoute>

Next to it, the folder with workout-routes was found. Now we have the actual raw GPX track from Apple as well. And, guess what, the track length is also 15.4 km - while the WorkoutStatistics tell 16.12 km. This sum of 16.12 km is then just picked by Komoot in the overview while all GPX file lengths (created by adding up the distance between all consecutive points in the track) show the shorter distance.

Act IV: The Sensor Fusion Twist

This separation reveals a fundamental philosophical difference in how Garmin and Apple measure a hike.

Garmin trusts the map. Coming from a heritage of aviation and marine navigation, Garmin calculates distance primarily based on the GPS route. If you wait for a friend at a trail junction and pace around in tiny 5-meter circles, Garmin’s algorithm tends to filter that out because you didn’t actually progress along the map’s route. Because Garmin relies on this “macro” line, its final reported distance (~15 km) perfectly matches what the math on the GPX file says.

Apple trusts the pedometer. Apple knows that GPS is more inaccurate at slow hiking speeds. So it uses Sensor Fusion. While the GPS is busy drawing a 15 km line on the map, Apple’s internal accelerometer feels every single one of your actual physical footsteps. It feels you zig-zagging during the hike. It also receives small changes which are simply ignored in the GPS tracking as they cannot be attributed to a single distance point in the GPX file.

Apple takes those physical footsteps, calculates the true physical distance you walked, and hardcodes that 16.12 km into the metadata. The GPX file is just the map overlay.

Conclusion

Neither watch was wrong. They just calculated two different ways.

If you want to know the length of the trail drawn on a map Garmin is better with its roughly 15 kilometers. Apple on the other hand writes down how far your feet actually walked which somehow is roughly 16.12 kilometers.

This also makes sense if you are on average 5cm off your track every second during a 6 hour hike. This adds up to the 1100m difference in the long run. Unfortunately, I can’t really prove that this is the solution to the riddle, but the fact that Apple stores a GPX with matching length shows, that it only uses the longer path for health stats.

At the end of the day, it comes down to engineering philosophy: Apple wants to measure the human. Garmin wants to measure the earth!

And it is also very interesting that the data is not comparable anymore after going through Komoot or other Apps which try to be smart about the data.


Sources & Further Reading

  • Apple’s Sensor Fusion: Apple Support: Calibrating your Apple Watch for improved Workout and Activity accuracy. Apple officially states that GPS is used to calibrate the accelerometer by learning your stride length at various speeds. The accelerometer is then continuously used to measure distance during outdoor workouts, blending with GPS to provide a true sensor-fused distance.
  • Garmin’s GPS Philosophy: Garmin Support: How Does My Garmin Device Calculate Distance?. Garmin explicitly states that for outdoor activities, distance is primarily calculated using the GPS coordinates. The accelerometer (referred to as “Dead Reckoning”) is generally only used indoors (like on a treadmill) or as a temporary backup when the GPS signal is completely lost.

Appendix

Source / Pipeline Track Points Distance (2D) Distance (3D) Ascent Descent Total Time Moving Time
Apple Watch (UI / HealthKit) 16.13 km 898 m 8h 09m
Apple Watch (Direct Export) 29,353 15.115 km 15.395 km 896 m 1,142 m 8h 09m 5h 22m
Apple Watch (via Komoot) 29,353 15.115 km 15.264 km 699 m 948 m 8h 10m 5h 17m
Apple Watch (via CoMaps) 12,780 14.716 km 15.338 km 699 m 947 m 8h 08m 5h 19m
Garmin (Direct Connect) 4,366 14.545 km 15.040 km 927 m 1,163 m 8h 01m 4h 58m
Garmin (via Komoot) 6,232 15.008 km 15.160 km 717 m 970 m 7h 59m 5h 14m
Garmin (via CoMaps) 4,713 14.708 km 15.016 km 716 m 969 m 7h 59m 5h 08m