Key takeaway
This article tests Stryd elevation gain accuracy, not overall Stryd pace, distance, or power accuracy. On repeated stair climbs at Kwintelooijen The Netherlands, compared with AHN4 ground-truth elevation data, Stryd underreported total elevation gain. In the April test, the Stryd pod activity logged 1,641 m versus 2,181.82 m from AHN4, about 25% low.
How reliable is the elevation data?
To accumulate some elevation gain, I’ve visited the stairs in the Kwintelooijen nature area several times. A nice feature of this location is that it goes straight up and straight down. This makes it easy to use as a measurement point for the reliability of elevation data: you simply subtract the lowest point from the highest point.



I wear a Garmin Fenix 8 (43 mm) AMOLED watch and the Stryd Duo footpods as the combination with which I record. I then synchronize activities to Strava and Stryd. When I put the elevation data from Garmin, Strava, and Stryd in a table, I get the following.
| 15-02-2025 | 13-04-2025 | |
|---|---|---|
| Garmin fenix 8 software | Version 12.38 | Version 13.35 |
| Number of stair climb repetitions | 30 times | 59 times |
| Elevation gain according to Garmin | 1,049 meters | 2,071 meters |
| Elevation gain according to Strava | 1,049 meters | 2,071 meters |
| Elevation gain according to Stryd | 870 meters | 1,823 meters |


In other words, according to Stryd, I didn’t achieve the vertical distance I thought I had based on the data on my watch! Now, who is right?
Fortunately, in the Netherlands, we have a very accurate DSM (Digital Surface Model, this is the ground level height) in the form of AHN (Actueel Hoogtebestand Nederland). When I plot these stairs on it, using AHN4, I get the following. See this link https://viewer.ahn.nl/AHN4/DTM/…. Currently, AHN version 5 is being created, which is not yet available for Kwintelooijen, so AHN4 is the most recent and most accurate elevation data available.

This shows a height difference of 50.88 – 13.90 = 36.98 meters. With this data, we can further complete the table:
| 15-02-2025 | 13-04-2025 | |
|---|---|---|
| Garmin fenix 8 software | Version 12.38 | Version 13.35 |
| Number of stair climb repetitions | 30 times | 59 times |
| Elevation gain according to Garmin | 1,049 meters | 2,071 meters |
| Elevation gain according to Strava | 1,049 meters | 2,071 meters |
| Elevation gain according to Stryd | 870 meters | 1,823 meters |
| Elevation gain according to AHN4 (ground truth) | 1,109.4 meters | 2,181.82 meters |
| Deviation Garmin vs. AHN4 | -60.4 meters | -110.82 meters |
| Deviation Stryd vs. AHN4 | -239.4 meters | -358.82 meters |
| Deviation Stryd vs. Garmin | -179 meters | -248 meters |
| Ratio of Stryd deviation to Garmin deviation | 3.964 | 3.238 |
Conclusion: Stryd deviates 3 to 4 times more from reality for elevation gain than Garmin’s data in these 2 cases!
To be honest, it’s not clear to me whether Stryd is only based on GPS data, over which they apply an incorrect correction algorithm, or whether they actually use the pods to calculate elevation data. It’s worth mentioning that the horizontal distance from Garmin, Strava, and Stryd is almost identical.
| 15-02-2025 | 13-04-2025 | |
|---|---|---|
| Garmin fenix 8 software | Version 12.38 | Version 13.35 |
| Number of stair climb repetitions | 30 times | 59 times |
| Distance according to Garmin | 12.51 km | 25.07 km |
| Distance according to Strava | 12.50 km | 25.07 km |
| Distance according to Stryd | 12.50 km | 25.07 km |
I have asked Stryd why this large difference in elevation gain can occur. There is a Stryd article on this topic that doesn’t really say much. They refer to an interesting article from gpsvisualizer.com, only to then say that they don’t use these methods.
With 2 activities from 1 user at 1 location, I understand that this cannot cover all cases of an algorithm. On the other hand, you need precisely a collection of such concrete cases to make improvements.
Update 1
Stryd responded quickly by saying:
- Elevation data from the pods is not used when you log an activity with a Garmin watch.
- Stryd just imports elevation metrics from the activity file, so they take whatever my watch recorded.
- Stryd doesn’t apply any correction algorithm (in this case) on that data.
- PowerCenter just visualizes second-by-second elevation data from the activity file and aggregates to show the total elevation gain.
- They pointed to this Garmin article – How do I Change the Elevation Source in Garmin Connect?
So I know my watch has a barometric altimeter sensor and indeed I can switch in my Garmin activity between ‘Your device’ and ‘Professional Survey Data’. Now I can update the table with the Garmin data split into two rows.
| 15-02-2025 | 13-04-2025 | |
|---|---|---|
| Garmin fenix 8 software | Version 12.38 | Version 13.35 |
| Number of stair climb repetitions | 30 times | 59 times |
| Elevation gain according to Garmin (device) | 1,049 meters | 2,071 meters |
| Elevation gain according to Garmin (survey) | 919 meters | 1,851 meters |
| Elevation gain according to Strava | 1,049 meters | 2,071 meters |
| Elevation gain according to Stryd | 870 meters | 1,823 meters |
| Elevation gain according to AHN4 | 1,109.4 meters | 2,181.82 meters |
| Deviation Garmin (device) vs. AHN4 | -60.4 meters | -110.82 meters |
| Deviation Garmin (survey) vs. AHN4 | -190.4 meters | -330.82 meters |
| Deviation Stryd vs. AHN4 | -239.4 meters | -358.82 meters |
| Deviation Stryd vs. Garmin (device) | -179 meters | -248 meters |
| Deviation Stryd vs. Garmin (survey) | -49 meters | -28 meters |
| Ratio of Stryd deviation to Garmin (device) deviation | 3.964 | 3.238 |
| Ratio of Stryd deviation to Garmin (survey) deviation | 0.947 | 0.985 |
Now, the next question is: what is actually in the activity file? So let’s dive in. I used fitfileviewer.com to inspect the file of my activity in April. In the ‘Activities Metrics’ panel it shows a total ascent of 2,071 meters. That is actually the number Garmin and Strava use for this activity, and it is the closest to the ground truth of 2,181.82 meters. So why doesn’t Stryd also use this number? I really don’t know.

So what other data do we have? The actual second-by-second data is in both ‘Record’ and ‘GPS Metadata’. Both contain the field ‘enhanced altitude’. First thing to notice is that they both start at a different elevation (they do start on the same timestamp). Then the second question is how elevation gain is derived from this data. Is a positive difference from one row to the next seen as ascent and a negative difference as descent? Third thing I see is that the altitude in ‘GPS Metadata’ changes not with the same diff values as the altitude in ‘Record’.

A plot of both elevation data series.

Especially when zoomed in it becomes clear that the data series are actually a bit different. So what data series to use?

I wrote some C# code to analyze both data series. This code takes the sum of all the elevation differences.
using System.Globalization;
using CsvHelper.Configuration;
const string gpsMetadataFilePath = "/Users/dirk-janmeijer/Downloads/18816702726_ACTIVITY-gps_metadata.csv";
const string recordFilePath = "/Users/dirk-janmeijer/Downloads/18816702726_ACTIVITY-record.csv";
using var gpsMetaDataReader = new StreamReader(gpsMetadataFilePath);
using var recordDataReader = new StreamReader(recordFilePath);
var config = new CsvConfiguration(CultureInfo.InvariantCulture);
var usCultureInfo = new CultureInfo("en-US");
using var gpsMetadataCsv = new CsvHelper.CsvReader(gpsMetaDataReader, config);
using var recordCsv = new CsvHelper.CsvReader(recordDataReader, config);
var gpsMetadataItems = gpsMetadataCsv.GetRecords<dynamic>().ToArray();
var recordItems = recordCsv.GetRecords<dynamic>().ToArray();
var (gpsMetadataElevationGain, gpsMetadataElevationLoss) = GetElevation(gpsMetadataItems);
var (recordElevationGain, recordElevationLoss) = GetElevation(recordItems);
Console.WriteLine($"GPS Metadata: {gpsMetadataElevationGain.ToString("#,##0.00", usCultureInfo)} elevation gain, {gpsMetadataElevationLoss.ToString("#,##0.00", usCultureInfo)} elevation loss");
Console.WriteLine($"Record: {recordElevationGain.ToString("#,##0.00", usCultureInfo)} elevation gain, {recordElevationLoss.ToString("#,##0.00", usCultureInfo)} elevation loss");
return;
(decimal elevationGain, decimal elevationLoss) GetElevation(dynamic[] items)
{
var elevationGain = new List<decimal>();
var elevationLoss = new List<decimal>();
foreach (var tuple in items.Zip(items.Skip(1)))
{
var firstEnhancedAltitude = GetEnhancedAltitude(tuple.First);
var secondEnhancedAltitude = GetEnhancedAltitude(tuple.Second);
var difference = Math.Abs(firstEnhancedAltitude - secondEnhancedAltitude);
if (firstEnhancedAltitude > secondEnhancedAltitude)
{
elevationGain.Add(difference);
}
else
{
elevationLoss.Add(difference);
}
}
return (elevationGain.Sum(), elevationLoss.Sum());
decimal GetEnhancedAltitude(dynamic row) => decimal.Parse(row.enhanced_altitude);
}GPS Metadata: 3,657.20 elevation gain, 3,662.20 elevation loss
Record: 2,151.20 elevation gain, 2,155.60 elevation lossSo there is actually a big difference between the two series. The ‘GPS metadata’ series is much more shaky so it accumulates more elevation gain and loss. But, neither of them are the reported 1,823 from Stryd, or the 1,851 from the Garmin (survey).
Now it becomes very unclear to me what Stryd means when they say they “display the data directly from the activity file from the second-by-second record information”. Are there other data points in the activity file I am missing? Is my analysis or code wrong? I don’t know. Either they do just a DSM lookup (on what model?) given the lat/long coordinates, or they derive the elevation gain and loss somewhat differently than the simple method I used above. I guess it is option 1.
Update 2
Ok, this is getting interesting because I just realized that the Stryd pods do also record activities themselves, which you can sync with your Stryd account. In my case, since I record using my Garmin watch with the pods connected, that means that I end up with duplicates in my Stryd account. But the good thing about that is that I now have the real answer to the question ‘How reliable is the Stryd elevation data?’. It only recorded 1,641 meters of elevation gain on my April run! The ground truth from the AHN data is 2,181.82 meters of elevation gain.

Unfortunately, I don’t have the February run anymore from the Stryd pods. I think I synced and deduplicated before so I lost that one. Extending the table once more, now by splitting the Stryd rows into the one with the imported activity and the Stryd pod itself.
| 15-02-2025 | 13-04-2025 | |
|---|---|---|
| Garmin fenix 8 software | Version 12.38 | Version 13.35 |
| Number of stair climb repetitions | 30 times | 59 times |
| Elevation gain according to Garmin (device) | 1,049 meters | 2,071 meters |
| Elevation gain according to Garmin (survey) | 919 meters | 1,851 meters |
| Elevation gain according to Strava | 1,049 meters | 2,071 meters |
| Elevation gain according to Stryd, imported activity from Garmin | 870 meters | 1,823 meters |
| Elevation gain according to Stryd pods | 1,641 meters | |
| Elevation gain according to AHN4 | 1,109.4 meters | 2,181.82 meters |
| Deviation Garmin (device) vs. AHN4 | -60.4 meters | -110.82 meters |
| Deviation Garmin (survey) vs. AHN4 | -190.4 meters | -330.82 meters |
| Deviation Stryd pods vs. AHN4 | -540.82 meters | |
| Deviation Stryd pods vs. Garmin (device) | -430 meters | |
| Deviation Stryd pods vs. Garmin (survey) | -210 meters | |
| Ratio of Stryd pods deviation to Garmin (device) deviation | 4.88 | |
| Ratio of Stryd pods deviation to Garmin (survey) deviation | 1.63 |
Conclusion: For my April run with 2,181 meters elevation gain, the Stryd foot pods only logged 1,641 meters of elevation gain. That’s 25% off from the actual value!
To be clear, I like running on power and I like to use Stryd and the Stryd foot pods for it. I think they make pacing really easy, give accurate race predictions and are just overall a good product. They just seem to be made however for the horizontal world, not the vertical one.
Update 3
The mentioned Stryd article is taken offline. We can still see it at https://web.archive.org/web/20241210152803/https://help.stryd.com/en/articles/9010691-elevation-elevation-gain-and-stryd. I hope that means we can expect an updated one soon with a more clear and precise explanation on the ins and outs of elevation gain.

1 comment
Comment by yorx
yorx March 8, 2026 at 11:15
I’m testing the Stryd 5 and I’m finding that I’m having the same problem as you. Senseless elevation differences and altitudes that don’t match what my Fenix 8 reads and what I compare with official topographic maps of my country. The Fenix may have a 5-10 m difference with the topographic map in high and open areas, but Stryd has a 50-60 m difference or more. My latest Stryd test gives 10% less accumulated elevation gain than Garmin and than a manual calculation against the topographic map, which is slightly better than your test, but still very poor for such an expensive device.
If it fails so badly at this basic calculation, how can we trust its power data when doing trail activities?
Thank you, so much.