Trail Notes

GPX vs KML vs TCX vs FIT

Four formats hold most of the world's GPS data. What each one actually stores, which apps speak which, and when converting makes sense.

Reading time: 8 minutes Last updated: July 2026

The Four Formats at a Glance

FormatTypeBuilt forSensor dataTypical home
GPXXML (text)Universal GPS exchangeVia extensions (hr, cad, temp, speed)GPS devices, nav apps, trail sites
KMLXML (text)Map visualizationNoGoogle Earth, Google Maps
TCXXML (text)Workout historyYes, plus laps and caloriesGarmin Training Center, fitness platforms
FITBinaryDevice recordingYes, richest of allModern 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 partnersGPX
Navigate a planned route on any appGPX
Show a track in Google EarthKML
Upload a workout with laps and caloriesTCX or FIT
Archive rides in original fidelityFIT (plus a GPX copy)
Analyze coordinates in a spreadsheetCSV (from GPX)
Every conversion is a possible data loss. GPX→KML drops timestamps and sensors; TCX/FIT→GPX drops laps and calories. Convert copies for specific destinations and keep the original file as recorded.

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.

Related Tools and Guides