The Four Formats at a Glance
| Format | Type | Built for | Sensor data | Typical home |
|---|---|---|---|---|
| GPX | XML (text) | Universal GPS exchange | Via extensions (hr, cad, temp, speed) | GPS devices, nav apps, trail sites |
| KML | XML (text) | Map visualization | No | Google Earth, Google Maps |
| TCX | XML (text) | Workout history | Yes, plus laps and calories | Garmin Training Center, fitness platforms |
| FIT | Binary | Device recording | Yes, richest of all | Modern Garmin/Wahoo/COROS devices |

GPX: The Common Language
GPX (GPS Exchange Format) is the lingua franca of GPS data: a plain-text XML format — defined by the GPX 1.1 schema — storing tracks (recorded paths), routes (planned paths), and waypoints (named locations). Nearly every navigation app, GPS receiver, and trail website reads and writes it. Sensor streams ride along in per-point extensions — covered in detail in our sensor data guide.
Choose GPX when the destination is unknown or varied: sharing with other people, moving data between apps, archiving. It's the safest default, and it's what all of our field tools operate on.
Its main weaknesses: files get large for long recordings (text is verbose), and there's no standard slot for workout data like laps or calories.
KML: For Looking, Not Logging
KML (Keyhole Markup Language) is Google Earth's native format, now maintained as an Open Geospatial Consortium standard. It excels at presentation: styled lines, colored regions, image overlays, camera tours. It has no concept of timestamps per point in its basic form, no sensor data, and no track/route/waypoint semantics — everything is a "placemark."
Choose KML when the goal is showing a route on Google Earth or embedding it in a map presentation. Convert your GPX with the GPX Converter, share the KML, keep the GPX as the master copy.
TCX: The Workout File
TCX (Training Center XML) is Garmin's fitness format. Structurally it's a workout first and a map second: activities divide into laps, each with totals (time, distance, calories) and per-point data including position, heart rate, and cadence. Fitness platforms accept it precisely because of those workout semantics.
Choose TCX when uploading to a training platform that wants lap and calorie data. For pure navigation use, GPX carries everything that matters and is more widely supported.
FIT: The Device Native
FIT (Flexible and Interoperable Data Transfer) is the binary format modern sport devices record in. It's compact — often 5-10× smaller than the equivalent GPX — and carries the richest data: every sensor, laps, events, device settings, even running dynamics. The cost is opacity: you can't open it in a text editor, and support outside the fitness world is thin.
Choose FIT when a fitness platform accepts it directly — it's the most faithful copy of what the device recorded. Export to GPX for everything else.
Which Format for Which Job
| You want to… | Use |
|---|---|
| Share a route with riding partners | GPX |
| Navigate a planned route on any app | GPX |
| Show a track in Google Earth | KML |
| Upload a workout with laps and calories | TCX or FIT |
| Archive rides in original fidelity | FIT (plus a GPX copy) |
| Analyze coordinates in a spreadsheet | CSV (from GPX) |
Converting Between Formats
Our browser-based tools cover the common paths — nothing uploads:
- GPX Converter — GPX to KML, CSV, or JSON
- CSV to GPX — spreadsheet coordinates (with sensor columns) back into GPX
For FIT and TCX conversion, the open-source gpsbabel handles nearly everything:
gpsbabel -i garmin_fit -f ride.fit -o gpx -F ride.gpx
After any conversion, a pass through the GPX Validator confirms the output is clean, and the GPX Analyzer shows what data actually survived.