Home / Guides / GPX vs TCX vs KML vs FIT: Which File Format Should You Use?
GPX vs TCX vs KML vs FIT: Which File Format Should You Use?
Four formats show up again and again when you deal with routes and workouts: GPX, TCX, KML and FIT. They overlap enough to be confusing and differ enough to matter. This guide explains what each one actually stores, where it is supported, and how to choose — without the jargon.
The one-line summary
- GPX — the universal route format. Pick this by default.
- TCX — Garmin's workout format, good for structured training data.
- KML — Google's mapping format, for Earth and My Maps.
- FIT — the compact binary your device records natively.
GPX: the lingua franca
GPX (GPS Exchange Format) is a text-based XML format that stores three kinds of things: tracks (where you actually went), routes (a planned sequence of points) and waypoints (individual marked spots). Each track point can carry elevation, a timestamp, and — through extensions — heart rate, cadence, temperature and power.
Its superpower is support. Virtually every watch, bike computer, phone app and mapping website reads and writes GPX. If you want a file that will still open in five years and works everywhere today, GPX is the safe answer. Its only real weakness is that it does not store structured workout data (intervals, targets) as richly as TCX. For 95% of people, that does not matter.
TCX: built for training
TCX (Training Center XML) is also XML, also text, but it is organised around workouts rather than geography. Its structure is activity → lap → track → trackpoint, and it was designed to hold the things a coach cares about: per-lap splits, calories, average and maximum heart rate, structured interval targets. Every track point can still store position, elevation, heart rate and cadence, so a TCX contains your route too.
Use TCX when a training platform specifically asks for it or when lap structure matters. The catch is narrower support: some apps and devices will not import TCX. When that happens, convert it — our TCX to GPX converter keeps your heart rate and cadence and produces a file everything can read.
KML: for maps, not fitness
KML (Keyhole Markup Language) is Google's format, the language of Google Earth and Google My Maps. It excels at visualisation: styled lines, coloured placemarks, pop-up descriptions, and geometry draped over 3D terrain. A KML can also embed time via gx:Track, which is how Earth animates a route.
What KML is not is a fitness format. There is no standard field for heart rate or cadence, so a route stored as KML loses those metrics. Reach for KML when the goal is to show a route on a Google map or share a clickable trail; use our GPX to KML converter to get there, and the KML to GPX converter to come back. One thing to watch: KML lists coordinates as longitude, latitude — the reverse of GPX — which is why sloppy converters sometimes flip routes east-to-west.
FIT: compact, native, and binary
FIT (Flexible and Interoperable Data Transfer) is the format most Garmin, Wahoo and modern fitness devices actually record in. Unlike the others it is binary, not text — you cannot open it in a text editor and read it. In exchange it is extremely compact and can store a huge range of sensor channels: running dynamics, power curves, lap details, developer fields and more. It is the richest of the four for training data.
The downside is that FIT's binary nature makes it fragile to convert by hand and awkward to inspect. If a platform needs FIT, export it straight from your device or from Strava's "Export Original". If you need to move FIT data somewhere that wants GPX, the usual path is to let Strava or Garmin Connect produce the GPX for you.
A note on TrackKit and FIT: we deliberately do not offer FIT conversion. Parsing binary FIT reliably in the browser is risky, hard to test with confidence, and easy to get subtly wrong — and a subtly wrong route file is worse than none. FIT support is on our roadmap only if we can do it correctly. For now, TrackKit focuses on the text formats (GPX, TCX, KML) where we can guarantee the result.
A quick decision guide
- I want a file that works everywhere. GPX.
- My coach's platform wants lap and interval detail. TCX (or the original FIT if they accept it).
- I want to show a route in Google Earth or My Maps. KML.
- I need the richest possible sensor data from my device. FIT, straight off the device.
- I have one format and need another. Start with the universal converter.
What survives a conversion
Converting between formats is lossy only where the target has nowhere to put the data. Going TCX → GPX keeps position, elevation, time, heart rate and cadence but flattens lap structure. Going GPX → KML keeps geometry and time but drops heart rate and cadence. Going anything → CSV gives you a flat table of points for analysis. TrackKit tells you, every time, exactly what will be dropped before you download — so there are no silent surprises.
Bottom line
If you remember one thing: GPX is the default, and the others are specialists. Keep your originals, convert copies when a specific tool demands a specific format, and let a converter that runs in your browser handle the translation so your location data never leaves your device.