FIT vs GPX vs TCX: Which Format Should You Keep?
Every workout file you own wears one of three names: FIT, GPX, or TCX. They sound like small tech trivia. They are not. The same ride saved in each of the three holds a different amount of truth — because each format was built for a different job, and each one drops a different set of facts on the floor.
Pick the wrong form at the wrong step and you can lose your power data in a convert, strip your laps in an export, or hand a coach a file that shows a map and no effort. Pick with care and the file you keep is the full ride, in a form every tool can read.
This guide lays the three forms side by side: what each one is, what each one keeps, where each one is weak, and when to convert — plus the one rule that saves more data than any other: keep the raw file your device wrote, and convert copies, never the sole original.
If you came here with a job to do — two files to join, say — the how-to guides may serve you first: how to merge two GPX files into one activity covers the GPX path end to end. This guide is the map that tells you which path to take.
Three formats, one ride
FIT is the device's own tongue. Garmin made it for its units, and Wahoo, COROS, and most head units speak it too. It is binary — compact code, not text — and it was built to hold a whole workout: points, laps, totals, device data, and every sensor stream, in a tight, checked form.
GPX is the open track form. It is plain text in XML, made to swap routes and tracks between map tools. Any program can read it, and you can open it in a text editor and read your ride with your own eyes. Its core holds places and times. The rest — heart rate, power, and the like — rides in add-on blocks called extensions.
TCX sits between the two. It is also XML text, made by Garmin for training data. It holds laps, heart rate, cadence, and course data in its core form, which made it the training world's swap form for years. It is less common in new gear, but old logs and many tools still speak it well.
What each format keeps — and what it drops
Here is the whole guide in one table. The marks show what each form holds in its core, not what a rare tool can be forced to add.
| Data | FIT | GPX | TCX |
|---|---|---|---|
| Position and time | Yes — core | Yes — core | Yes — core |
| Elevation | Yes — core | Yes — core | Yes — core |
| Heart rate | Yes — core | Extension block | Yes — core |
| Cadence | Yes — core | Extension block | Yes — core |
| Power | Yes — core | Extension block | Extension block |
| Temperature | Yes — core | Extension block | Rarely held |
| Laps | Yes — full lap records | Weak — splits tracks only | Yes — core |
| Session totals | Yes — checked totals | No | Partial |
| Damage check | Checksum built in | None | None |
Read the table as a warning about converts. Each time you move a file to a form that holds less, the extra data has nowhere to go. A FIT ride moved to plain GPX may land with its heart rate in an extension — or may land with no heart rate at all, if the tool that wrote it does not write the block. The convert is not a copy. It is a translation, and translations lose lines.
Read the table once more with a merge in mind. A merge keeps the sum of what the inputs hold — it cannot add a stream that no input has. So the form of your inputs sets the ceiling for the merged file. Two GPX files merge into a fine track with no power, because power was never in them. Two FIT files merge into the full record. When the merged file feels thin, the cause is most often the inputs' form, not the merge.
The table also explains a classic mix-up: a file that “lost” its heart rate in a move. The ride was saved as FIT with beats. It was shared as GPX, plain. The receiver sees a track with no beats and cries loss. Nothing was lost in malice — the form just has no standard home for the beats, and the tool that made the GPX left them out. The cure is to go back to the FIT. The loss was in the copy, not the source.
FIT: the device's own language
FIT's strengths are depth and proof. It holds the most streams, keeps full lap and session records, and ends with a checksum that lets a reader prove the file is whole. That is why devices write it, why platforms prize it, and why it is the form to store if you store one form. Its totals are part of the file, so a reader can check the points against the claimed sums.
Its costs are real too. You cannot read it by eye. Its strict chain breaks hard when a byte goes wrong — the fault set in our repair guide — and some of its fields are set by the maker's spec, so a writer must know the spec well to make a file that strict readers accept. None of that matters when the file is whole and your tools are modern. It matters a lot when a file breaks or a legacy tool chokes.
One more FIT trait matters in practice: it is the form devices ask for when you send a workout or a course back to the unit. A structured session — sets, rests, targets — rides in FIT as data, not as notes. GPX can carry the route of that session. It cannot carry the session itself. If your training life includes pushing planned work to a device, FIT is in your life to stay, like it or not.
FIT files are also the smallest of the three for the same ride, by a wide mark. Binary beats text. On a device with a small store, or a mailbox with a cap, that counts. It is not a reason to love the form. It is a reason your archive of FIT files will fit (the pun is the format's own) in a corner of disk that GPX would fill.
GPX: the open track format
GPX's strength is that the whole world can read it. Map tools, route sites, photo tools that tag by place and time, archive projects that store the world's tracks — GPX is their coin. It is the form to send when you do not know what the other side runs. It is also the most durable form for the long term: plain text does not rot, and no maker's spec change can orphan it.
Its weakness is depth. The core knows places, heights, and times. All else is extension, and extension support is a coin flip per tool. Two traps follow. A tool may read the track and drop the streams in silence. And a GPX file may hold points with no time at all — a drawn route, not a ride. A file like that can be shown on a map, but it cannot prove pace, and it cannot be merged by time.
GPX is also the form most route work starts in. If a friend sends a route and you want to ride it as a workout on your device, the route must become a FIT file the unit can eat. That convert — and what to check on the far side — sits inside the merge flow in how to combine FIT files from two devices, where outputs are picked with the same care.
GPX has one more job the other two do not: it is the form of the drawn route. When you plan a ride on a map site and send it to a friend or a device, GPX is what moves. That route has points but no times, no beats, no effort — it is a plan, not a record. Keep plans and records in split folders, or one day you will try to merge a plan into a ride and wonder why the checks fail. The health check tells them apart at a glance: a route has no start time worth the name and no streams at all.
TCX: the training middle ground
TCX holds more of a workout than GPX and less than FIT. Laps are first-class. Heart rate and cadence are core. Courses — a route with cues — are its home turf, which is why old training tools and course builders lean on it. If your log goes back a decade, much of it is TCX, and it is better data than its age suggests.
Its weakness is that the world moved on. New devices write FIT. New platforms read TCX but rarely prize it. Power rides in an extension, as in GPX, with the same coin-flip risk. If you hold old TCX files, they are worth keeping as they are — and worth converting with the totals check we teach in how to merge TCX files and check that nothing was lost when you need them in a modern form.
One more TCX trait: a TCX file with no position at all is valid and common — indoor rides were saved as TCX for years. A tool that demands a track will fail on such files through no fault of the data. Keep that in mind before you call a file broken.
TCX earns a last word on laps. Lap data in TCX is rich and old tools read it well, which is why archives of coached work sit in TCX: each set its own lap, each lap with its own totals. If you hold such an archive, do not bulk-convert it in a spree. Convert on need, file by file, with checks — the lap sums are the value, and they are the first thing a careless convert drops.
And a small mercy of the form: TCX is text, so a TCX file can be searched. You can grep an archive for a date, a sport, a lap time. Try that on a shelf of FIT files. For riders who keep decades of logs, a text archive has a quiet worth that has kept TCX alive past its prime.
Which one to keep, send, and store
Store the raw file. Whatever your device wrote — most often FIT — is the richest copy you will ever have. Archive it as it came off the device, before any convert or merge. Every other form you need can be made from it. The reverse is not true: no convert can add back a stream the first convert dropped.
Send the form the other side reads best. A coach on a modern platform: FIT. A friend with a map tool: GPX. An old course builder: TCX. And when a file must change form, treat the convert like any other job on your data — check the totals on the far side. Indoor files make the point well: their lack of a track is data, not damage, as our guide to indoor workout files shows. And if a convert ever turns into a rescue, the FIT repair guide is the place to start.
The short version
FIT holds the most and proves itself. GPX is read by all and holds the least. TCX sits between, strong on laps, weak on new friends. Keep the raw file, convert copies, and check the totals after each trip between forms. Convert or merge a file — every output comes with a totals block so you can see what the trip kept.
Sources and further reading
- Systems — GPS.gov — An official tour of GPS and the other satellite systems your watch may listen to.
- GPS Accuracy — GPS.gov — The U.S. government's own page on how exact GPS fixes are, and what makes them drift.
- National Geodetic Survey — NOAA — The U.S. agency for position and height data — the science under GPS and elevation.