100% private — files never leave your browser
FIT to GPX Converter
Turn Garmin, Wahoo, COROS or Zwift .fit activities into universal .gpx files that open in Google Earth, Strava, Komoot, QGIS and every mapping app under the sun. The conversion runs entirely in your browser — nothing is uploaded, and heart rate, cadence and power ride along in the Garmin TrackPointExtension.
or click to browse — the output will be GPX; format is detected automatically
How to convert to GPX
- 1
Drop your file
Drag a FIT, GPX or TCX file onto the box above, or click it to browse. The source format is detected automatically from the file contents.
- 2
Wait a beat
The conversion runs in a background worker on your device. Typical activities finish in well under a second; even 50 MB files process without freezing the page.
- 3
Check the preview
Distance, duration, ascent and average heart rate are shown alongside a map of the converted track, so you can confirm nothing was lost before downloading.
- 4
Download
Click the download button and the .gpx file is saved straight from memory. Nothing was uploaded, so there is nothing to clean up.
What is a FIT file?
FIT (Flexible and Interoperable Data Transfer) is the binary activity format created by Garmin and maintained by the FIT Coalition. Every Garmin watch, cycling computer and trainer writes .fit files, and brands like Wahoo, Zwift, COROS, Suunto and Bryton use it too. Because it is a compact binary format, a FIT file can hold a full season of second-by-second records — GPS position, altitude, heart rate, cadence, power, laps and sessions — in a fraction of the space the same data needs as XML.
The trade-off for that compactness is compatibility. FIT is a device format: desktop tools, older websites, GIS software and many coaching platforms either cannot open it at all or only import it through a vendor uploader. That is the moment most people go looking for a converter — and why this page exists. A faithful conversion preserves every sample your device recorded, including the extension channels (heart rate, cadence, power) that generic GPS formats often drop.
What is a GPX file?
GPX (GPS Exchange Format) is the universal, open XML format for GPS data, standardized by TopoGrafix and supported by essentially every mapping application on earth — Strava, Google Earth, Komoot, RideWithGPS, Garmin BaseCamp, QGIS and hundreds of others. A GPX file stores waypoints, routes and tracks as latitude/longitude pairs, optionally with elevation and timestamps, and Garmin's TrackPointExtension carries heart rate, cadence and power alongside each point.
Because GPX is plain text XML, it is readable, diffable, scriptable and trivially editable — which makes it the lingua franca when a track needs to move between ecosystems. The cost is size: the same activity as GPX is typically 5-10× larger than FIT, and consumer-oriented apps sometimes ignore the extension channels. For archiving, editing and cross-platform sharing, though, GPX remains the safest long-term bet.
Why convert FIT to GPX?
The most common reason is software that simply refuses FIT. GIS tools like QGIS and ArcGIS read GPX natively; Google Earth does not know what a .fit file is; plenty of club and coaching workflows still standardize on GPX for route sharing. Converting to GPX unlocks the largest possible audience for a track — if an application can display a map, it can almost certainly display GPX.
The second reason is durability. FIT is a binary, profile-versioned format that depends on vendor tooling to read; GPX is plain text XML that any future tool — or a human with a text editor — can still open in twenty years. Many riders and runners export their training history to GPX as a permanent, vendor-independent archive alongside the originals.
Finally, GPX is the easiest format to edit. Trimming a recording, fixing a jump in the GPS track, or stitching sections together is a few lines of readable XML, whereas editing FIT means re-encoding a binary structure. Convert first, then edit, then keep the result as your working copy.
What this converter keeps (and what any FIT→GPX converter must drop)
Every track point converts position, timestamp and elevation. Physiological channels — heart rate, cadence and power — are written into the standard Garmin TrackPointExtension inside each point, which is the same mechanism Strava and Garmin themselves use, so mainstream tools pick them up. Lap boundaries become separate <trkseg> segments, preserving the structure of interval sessions.
Honest caveat: GPX has no native slot for some FIT concepts. Session summaries, event markers and developer fields (like running dynamics) have no GPX home, so they are omitted rather than mangled. The map preview and statistics shown after conversion are computed from the converted points themselves — what you see in the preview is exactly what is in the file you download.
Your files never leave this browser
This tool — like every tool on this site — runs entirely as client-side JavaScript. The file you drop is parsed in a Web Worker on your own device, converted in memory and handed straight back to you as a download. There is no upload endpoint, no server-side conversion service and no temporary storage: you can watch the network tab in your browser's developer tools and confirm that no file bytes are transmitted anywhere.
That matters more with fitness data than with most files. A GPS track is a precise log of where you were, at what time, and how hard your heart was working — home address, training habits, favorite routes and race schedule all in one file. Keeping conversion on-device means third-party converters never get a copy of that log, and the tool keeps working identically on a plane, in a basement, or anywhere else without signal.
FIT vs GPX at a glance
| Aspect | FIT | GPX |
|---|---|---|
| Format type | Compact binary | Human-readable XML |
| Typical authors | Garmin, Wahoo, COROS, Zwift devices | Exported by nearly all software |
| GPS + elevation | Yes | Yes |
| Heart rate / cadence / power | Native | Via TrackPointExtension (widely supported) |
| Laps & sessions | Fully structured | Segments only (no formal lap metadata) |
| Best for | Device recording, uploads to training platforms | Universal sharing, GIS, editing, archiving |
Frequently asked questions
Yes. Strava's uploader accepts GPX with Garmin TrackPointExtension data, so heart rate and cadence appear on the activity. If you have the original FIT file, upload that instead — FIT can carry slightly more detail — but the converted GPX is fully valid for Strava, Komoot, RideWithGPS and similar platforms.