How to open a GPX file in Strava
Strava accepts GPX files directly. Upload at strava.com/upload/select to create an Activity (a recording on your profile), or under Routes → Create Route → Upload to create a Route (a planned ride you can follow on a Wahoo, Garmin, or in the Strava mobile app). No format conversion is needed — Strava parses GPX 1.0 and 1.1 natively.
Try it — drop a GPX file
The viewer below runs in your browser. Drop a .gpx to see the route, then click Open in: Strava from the destination chips — Strava's upload page opens in a new tab.
Drop your GPX file here
or browse to choose
Parsed locally · never uploaded
Activity or Route — pick the right one before uploading
Strava ingests the same GPX two ways depending on the destination in its UI. The choice matters because the result is fundamentally different on your profile.
- Activity (recording). Uploaded at
strava.com/upload/select, the file becomes a record of something done — it shows in your follower feed, contributes to fitness scores, and appears in segment leaderboards if the segments overlap. The GPX must have realistic timestamps; without them, Strava classifies the upload as a virtual ride. - Route (planned ride). Created under Routes → Create Route → Upload, the file becomes a followable route. It does not appear on your activity feed, does not affect fitness scores, and can be sent to a connected Wahoo or Garmin device for turn-by-turn following. Routes don't need timestamps — a route is a planned line, not a record.
A common mistake: uploading a planned-route GPX (no timestamps) via the Activity path, ending up with a virtual ride on your profile. If you want to follow the route, take the Route path instead.
Steps
- Open viewmygpx and drop the GPX onto the viewer. Visit viewmygpx.com and drag the .gpx into the drop zone, or click to choose a file. Confirm the route looks right — start and end points, plausible distance, no missing segments — before sending it to Strava.
- Click Open in: Strava in the destinations row. The Strava upload page opens in a new tab. If you prefer the manual flow, click Download .gpx first and select the file from disk in Strava's upload dialog.
- Sign in to Strava and choose Upload Activity (or go to Routes → Create Route → Upload for a planned ride). The Activity path is at strava.com/upload/select; the Route path is under Routes → Create Route → Upload.
- Edit title, sport type, and privacy. Strava picks defaults — usually Ride for cycling files, Run for running. Override if needed. Privacy can be set per-activity at upload time; for sensitive routes (anything starting near home), consider Followers or Only You rather than Everyone.
- Save & View. Strava returns the activity URL. The activity appears on your profile, in your followers' feeds (per privacy), and feeds into your weekly stats. Strava recomputes elevation against its own dataset; the displayed elevation total may differ from what your GPX file contains.
What Strava preserves, recomputes, and adds
- Preserved as-is: the route polyline (every latitude/longitude in your file), the wall-clock start time, the activity duration, named waypoints (limited rendering), Garmin TrackPointExtension data (heart rate, cadence, temperature) on every trackpoint that has them.
- Recomputed: elevation gain and loss (Strava uses its own SRTM-based elevation model — see Strava Elevation Basics), distance (recomputed from the polyline), pace and speed (smoothed against time), segment matches (Strava overlays the polyline against its segment database).
- Added by Strava: activity badges and achievements, social-feed visibility, segment leaderboards, fitness score impact (Suffer Score, Relative Effort), kudos and comment surface, and an export-back GPX that includes Strava's recomputed values.
- Stripped or ignored: the GPX's creator metadata, route descriptions, GPX-specific extension namespaces outside of Garmin TrackPointExtension. Strava's exported GPX rebuilds these fields with Strava-specific values.
Common pitfalls
File uploaded as Virtual Ride
Caused by missing or fake timestamps. Strava classifies a file as virtual when timestamps are absent or implausible. To fix: open the GPX in the viewmygpx editor (which can re-time a file by inferring pace from a target activity duration), or upload as a Route instead — Routes don't need timestamps and don't carry the virtual-ride flag.
"The file is not a valid format Strava can read"
Almost always corrupted XML. Open the GPX in a text editor and confirm the first lines include a GPX 1.0 or 1.1 declaration. Common culprits: a converter wrote a GPX 2.0 namespace (Strava doesn't accept it because no published 2.0 schema exists), or the file was renamed from .xml without checking the contents. The viewmygpx viewer will fail with a useful error message in both cases — try opening there first.
Elevation gain looks wrong
Strava's recomputed elevation can differ substantially from what your GPS recorded — particularly with consumer-grade altimeters in mixed weather. The number on your activity page is Strava's, not yours. To compare against the file's recorded elevation, drop the GPX in the viewmygpx viewer and read the stats panel; the file's own elevation total appears there.
Strava strips a custom waypoint name
Strava renders waypoints sparingly. Named waypoints in a GPX show up on activity maps but not always with the original label, and they're absent from the route map for Routes. For richer waypoint behavior — POIs, photos, descriptions — Komoot or Ride with GPS handle waypoints more comprehensively.
Sending a Strava Route to a head unit
Once a GPX is in Strava as a Route, it can be sent to a connected head unit for turn-by-turn following. The connections that work:
- Wahoo ELEMNT / Bolt / Roam. Pair Strava under the Wahoo companion app's linked-services tab; the route appears on the head unit within seconds.
- Garmin Edge series. Pair Strava in Garmin Connect under Connected Apps; the route syncs to the head unit on the next Garmin Connect sync.
- Hammerhead Karoo. Strava integration syncs routes via the Karoo's sync settings.
- Strava mobile app. The Routes tab inside the app shows the route with turn-by-turn directions when followed actively (Strava Premium required for offline use).
Privacy considerations
A GPX file contains the exact coordinates of every step or pedal stroke. On Strava, those coordinates become public unless privacy is configured intentionally. Three layers of control:
- Per-activity visibility. Set at upload time to Everyone, Followers, or Only You. The default depends on account region.
- Privacy Zones. Settings → Privacy Controls → Map Visibility lets you mask a circular area around your home, workplace, or anywhere else. Routes through the masked area are hidden on activity maps for everyone except you.
- Hide From Heatmap. Independent of activity visibility — even public activities can be excluded from Strava's aggregated heat map by toggling Aggregated Data Usage off.
For routes that start or end at home, set up a Privacy Zone before uploading rather than retroactively. Once an activity is published with the start point visible, that data has already been distributed to followers.
Alternatives
- Garmin Connect if you ride a Garmin. Native integration with Edge / Forerunner / fenix devices, including push-to-device for Courses (the Garmin equivalent of a Strava Route).
- Komoot for routes with rich waypoints. Komoot preserves named waypoints, descriptions, and POIs more comprehensively than Strava and exposes them as Highlights along the route.
- Ride with GPS for cue-sheet generation. Strava Routes don't produce written cue sheets; Ride with GPS does, useful for shareable handlebar instructions.
Does Strava accept GPX uploads directly?
Yes. Strava's web upload page at strava.com/upload/select accepts GPX, FIT, and TCX files. There is no need to convert; Strava parses GPX 1.0 and 1.1 directly. Uploads via the mobile app are limited to FIT files from connected devices — for GPX uploads, use the website on a desktop or mobile browser.
Why does Strava show a different elevation total than my GPX file?
Strava recomputes elevation from its own elevation dataset, not from the values in your GPX. The Strava number reflects what Strava thinks the terrain looks like along the polyline, which differs from a GPS-measured altitude reading. Both numbers are 'right' for different definitions; for matching the trail-association published number, the Strava recomputed value is usually closer because it comes from the same SRTM-based dataset.
What's the difference between uploading as an Activity and as a Route?
An Activity is a record of something done — it appears on your profile, in your follower feed, and feeds into your fitness stats. A Route is a planned ride or run you intend to follow — it appears under Routes, can be sent to a Wahoo or Garmin via the Strava connection, and does not appear on your activity feed. The same GPX file can become either; the choice depends on intent.
My uploaded ride appears as a 'Virtual Ride' — why?
Strava classifies an upload as a virtual ride when the file has no timestamps (a planned-route GPX) or has timestamps inconsistent with real-world physics (every point at 12:00:00, etc). Virtual rides do not feed into segment leaderboards or fitness training scores. To make it a real ride, upload as a Route instead, or fix the timestamps in the viewmygpx editor before re-uploading.
Will my heart rate, cadence, and power data show up?
Yes — Strava parses Garmin's TrackPointExtension namespace inside GPX files, which carries heart rate, cadence, and temperature on every trackpoint. Power data uses the same extension if your sensor wrote it, otherwise it's absent. For the cleanest sensor-data experience, upload the FIT file from the head unit instead — FIT carries more sensor metadata than GPX and Strava parses it more comprehensively.
Is my GPX file private if I upload it to Strava?
It depends on your visibility setting. Strava's privacy settings are global by default but can be set per-activity at upload time. The file content sits in Strava's storage; the activity entry is visible per your privacy choice. For maximum privacy, set the activity's visibility to 'Only You' before saving, and check that your home area is in Strava's Privacy Zone (under Settings → Privacy Controls) to mask start/end coordinates near home.
Does Strava preserve the GPX file unchanged?
No. Strava normalizes the file during ingest: elevation is recomputed, sometimes points are added or smoothed, and the export-back GPX from Strava (View Activity → ⋯ → Export GPX) will not be byte-identical to the original. If you need lossless storage, keep the original .gpx alongside the Strava activity link.
Related guides
Open GPX in Google My Maps
Convert GPX to KMZ in your browser, import into Google My Maps, view in standard Google Maps under Saved → Maps.
Open GPX in Google Earth
Drop the KMZ onto Google Earth Web for 3D terrain visualization. Best for seeing climbs and valleys against real terrain.
Open GPX in Komoot
Upload a GPX as a Komoot Tour. Komoot's free tier accepts uploads; offline maps require a region purchase or Premium.
Open GPX in Garmin Connect
Import GPX as a Garmin Connect Activity. For navigable Courses on Edge or fenix, use Training → Courses instead.
Open GPX in Ride with GPS
Upload to Ride with GPS as either an Activity (recorded) or Route (planned).
Open GPX in AllTrails
Import GPX as a Custom Map in AllTrails+ (paid). Saves to your account and syncs to the mobile app for offline use.
Open GPX in Apple Maps
Apple Maps does not natively import GPX. The realistic Apple-stack workflows use third-party apps (WorkOutDoors, Footpath, Komoot, Maps.me) that handle GPX themselves.
All Open-GPX-in guides
Hub of platform-specific instructions for opening a GPX file across the major mapping and fitness platforms.
How to open a GPX file (universal guide)
The platform-agnostic answer covering iPhone, Android, Mac, Windows, and the major mapping apps in one place.