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 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. 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.