A GPX file is a plain-text XML file that stores GPS data: individual points of interest, planned routes, and recorded tracks. The name is short for GPS Exchange Format, and the "exchange" is the point — it exists so a route drawn in one app can be opened on a watch made by a different company and uploaded to a third company's website without anything being lost in between.
If a hiking app, a Garmin, or Strava has ever handed you a .gpx download, this is what you got.
What File Type Is a .gpx File?
GPX is plain-text XML with the MIME type application/gpx+xml. Because it is text and not a binary blob, you can open a .gpx in any text editor and read it directly — which is genuinely useful when a file will not import somewhere and you need to see why.
The format is an open standard maintained by TopoGrafix, published in 2002 and revised to version 1.1 in 2004. It has not needed to change since, which is a large part of why support for it is so close to universal. It is not owned by Garmin, Strava, or anyone else.
What Is Inside a GPX File?
GPX has exactly three top-level content types, and understanding the difference between the last two explains most of the confusion people run into:
| Element | Name | What it is |
|---|---|---|
<wpt> | Waypoint | A single point of interest — a trailhead, a water source, a parking spot |
<rte> | Route | An ordered list of points describing a path you intend to follow |
<trk> | Track | A dense breadcrumb trail of where you actually went, usually with a timestamp on every point |
The practical distinction: a route is a plan, and a track is a record. A route might have 30 points marking the turns; a track of the same walk might have 3,000 points logged every second, each stamped with the time you passed it. Some devices only accept one or the other, which is the usual reason a file imports on one app and is rejected by another.
A Minimal Example
<?xml version="1.0" encoding="UTF-8"?>
<gpx version="1.1" creator="GeoDataTools">
<wpt lat="48.8584" lon="2.2945">
<name>Eiffel Tower</name>
</wpt>
<trk>
<name>Morning run</name>
<trkseg>
<trkpt lat="48.8584" lon="2.2945">
<ele>33.0</ele>
<time>2026-08-05T07:14:22Z</time>
</trkpt>
</trkseg>
</trk>
</gpx>
Coordinates are attributes on the point element, always in WGS84 decimal degrees (EPSG:4326) — the same system GPS satellites broadcast in. Elevation is in metres above the WGS84 ellipsoid, and timestamps are UTC in ISO 8601. There is no option to use a different coordinate system, which is a deliberate simplification and one reason GPX interoperates as reliably as it does.
Extensions: Heart Rate, Cadence, Power
Base GPX has no element for heart rate or cadence. Devices store that data inside an <extensions> block, using a vendor namespace — usually Garmin's TrackPointExtension, which most other software has come to read as a de facto standard. This is the part of the format most likely to be silently dropped when a file passes through a converter, so it is worth checking after any round trip if the data matters to you.
Where GPX Files Come From
- GPS watches and bike computers — Garmin, Wahoo, Coros, Suunto, either directly or as an export from their companion app.
- Fitness platforms — Strava, Komoot, Ride with GPS, and AllTrails all export activities and planned routes as GPX.
- Mapping and navigation apps — Gaia GPS, OsmAnd, ViewRanger, and most hiking apps import and export it.
- Handheld GPS units — the eTrex-class devices that made the format ubiquitous in the first place.
- Drone and survey software — flight paths and survey tracks are frequently exported as GPX.
Note that Garmin devices often record in FIT rather than GPX, and older Garmin software used TCX. Both hold more sensor detail than GPX does. If your device produced one of those, convert with the FIT to GPX converter or the TCX to GPX converter.
How to Open a GPX File
The fastest option is to not install anything: drop the file into the online GPX viewer and the tracks, routes, and waypoints are drawn on an interactive map immediately. Nothing is uploaded — the file is parsed in your browser.
Beyond that:
- To see the climb, the elevation profile viewer plots elevation against distance.
- To check pace and splits from a recorded activity, use the GPX pace calculator, which reads the per-point timestamps.
- To change something — rename a track, delete stray waypoints, trim the walk from the car park off the start — use the GPX editor.
- In desktop software, QGIS opens GPX natively, and Google Earth will after a conversion to KML.
- In a text editor, since it is plain XML. Genuinely the fastest way to diagnose an import that keeps failing.
Converting GPX to Other Formats
GPX is built for GPS devices, so it is usually the wrong format for anything else. What you want depends on the destination:
- GPX to GeoJSON — for web mapping with Leaflet, OpenLayers, or Mapbox.
- GPX to KML — to view the route in Google Earth over satellite imagery and 3D terrain.
- GPX to CSV — to get the points into a spreadsheet.
- KML to GPX — the reverse, for getting a Google Earth route onto a device.
GPX Compared to Other Formats
| GPX | KML | GeoJSON | |
|---|---|---|---|
| Built for | GPS devices | Visualisation | Web mapping and APIs |
| Syntax | XML | XML | JSON |
| Per-point timestamps | Standard | No | Only as properties |
| Elevation | First-class | Optional coordinate | Optional coordinate |
| Polygons / areas | No | Yes | Yes |
| Styling | None | Rich | None in the spec |
For a wider comparison across the whole family, see spatial data formats compared.
Common Problems
- The file imports but shows no track. It probably contains only a route (
<rte>) and the app only reads tracks, or vice versa. - Elevation looks wrong. GPS elevation is inherently noisy, and GPX stores height above the WGS84 ellipsoid, not sea level — a systematic offset of tens of metres is normal.
- Heart rate vanished. It lived in an
<extensions>block and something in the chain dropped it. - The file is enormous. A track logging a point per second builds up fast. Trimming or simplifying helps; so does zipping it, since XML compresses well.
- It starts at your house. Worth remembering before sharing a recorded track publicly — the first and last points are exactly where you set off from and returned to.
FAQ
What is a GPX file used for?
Storing and exchanging GPS data — waypoints, planned routes, and recorded tracks — between GPS devices, fitness platforms, and mapping software.
What does GPX stand for?
GPS Exchange Format. It is an open XML standard maintained by TopoGrafix, not owned by any device manufacturer.
What is the difference between a route and a track in a GPX file?
A route is a plan: an ordered list of points describing a path you intend to follow. A track is a record: a dense series of points, usually timestamped, showing where you actually went.
How do I open a GPX file without installing software?
Drop it into a browser-based viewer such as the GeoDataTools GPX viewer, which renders it on an interactive map without any upload or install.
Can I open a GPX file in Google Earth?
Google Earth prefers KML. Convert the GPX to KML first, then open the result in Google Earth.
Does a GPX file contain heart rate data?
Not in the base format. Devices store heart rate, cadence, and power inside an extensions block using a vendor namespace, most commonly Garmin's TrackPointExtension.
What coordinate system does GPX use?
Always WGS84 (EPSG:4326) decimal degrees. The format allows no alternative.
Ready to work with your geospatial data?
Visualize, filter, and convert GeoJSON and KML files directly in your browser.
Try GeoDataTools