100% private — files never leave your browser
FIT to TCX Converter
Turn modern .fit recordings into .tcx files for the software that still expects them — Garmin Training Center, older TrainingPeaks import workflows, coach archives and Strava, which accepts TCX as a first-class citizen. Laps survive as laps, heart rate, cadence and power travel in native elements, and the whole conversion runs in your browser.
or click to browse — the output will be TCX; format is detected automatically
How to convert to TCX
- 1
Drop your file
Drag a FIT, GPX or TCX file onto the box above, or click it to browse. The source format is detected automatically from the file contents.
- 2
Wait a beat
The conversion runs in a background worker on your device. Typical activities finish in well under a second; even 50 MB files process without freezing the page.
- 3
Check the preview
Distance, duration, ascent and average heart rate are shown alongside a map of the converted track, so you can confirm nothing was lost before downloading.
- 4
Download
Click the download button and the .tcx file is saved straight from memory. Nothing was uploaded, so there is nothing to clean up.
What is a FIT file?
FIT (Flexible and Interoperable Data Transfer) is the binary activity format created by Garmin and maintained by the FIT Coalition. Every Garmin watch, cycling computer and trainer writes .fit files, and brands like Wahoo, Zwift, COROS, Suunto and Bryton use it too. Because it is a compact binary format, a FIT file can hold a full season of second-by-second records — GPS position, altitude, heart rate, cadence, power, laps and sessions — in a fraction of the space the same data needs as XML.
The trade-off for that compactness is compatibility. FIT is a device format: desktop tools, older websites, GIS software and many coaching platforms either cannot open it at all or only import it through a vendor uploader. That is the moment most people go looking for a converter — and why this page exists. A faithful conversion preserves every sample your device recorded, including the extension channels (heart rate, cadence, power) that generic GPS formats often drop.
What is a TCX file?
TCX (Training Center XML) is Garmin's older training format, introduced with Garmin Training Center in the mid-2000s and later extended by Strava and others. Like GPX it is XML, but TCX is structured around workouts rather than raw tracks: activities contain laps, laps contain tracks, and the schema natively understands training concepts — total time, distance, calories, heart rate zones and cadence — that plain GPX leaves to extensions.
Today TCX sits between two worlds: modern Garmin devices write FIT, while Strava's uploader still accepts TCX as a first-class citizen and many legacy coaching tools (TrainingPeaks imports, older Polar flows, Golden Cheetah archives) expect it. Converting into or out of TCX is usually about keeping lap structure and summary data intact while crossing between those generations of software.
Why convert FIT to TCX?
FIT is the present; TCX is the format the previous generation of training software was built on. Garmin Training Center — the desktop application some riders still run on an old laptop — reads TCX natively and has never heard of modern FIT profiles. Plenty of coaching archives and older TrainingPeaks import pipelines standardized on TCX in the late 2000s and never moved on. If the file has to open in that world, it has to be TCX.
Strava is the other reason. Its uploader treats TCX as a first-class citizen: laps, heart rate, cadence and power land exactly where Strava expects them, because TCX's schema was extended with precisely those training concepts while GPX needed bolt-on extensions to carry them. When you cannot hand Strava the original FIT, or a workflow demands XML you can open and edit in a text editor, TCX is the better target — nothing about your training structure gets demoted on the way through.
And unlike GPX, TCX keeps the workout's shape. Intervals are not merely visible in the data; they are the data — each lap an element with its own time, distance and averages. For anything that re-imports activities into coaching software, that structure is the difference between an activity and a pile of points.
What travels first class — and what has no seat
Everything TCX was designed to carry converts intact. Each FIT lap message becomes a TCX lap with its start time, total time, distance and trigger. Per-point heart rate and cadence map to their native elements, and power rides in the TPX extension inside every track point — the same mechanism Training Center itself wrote, so legacy tools read it without being asked.
The honest shortlist of what does not convert: FIT session summaries (the rolled-up totals), event and marker messages, and developer fields such as running dynamics or core temperature. TCX has no element for any of them, so they are left out entirely rather than squeezed somewhere misleading. If those fields matter to you, keep the original FIT alongside the TCX — the two formats overlap far more than either admits, but not completely.
Your files never leave this browser
This tool — like every tool on this site — runs entirely as client-side JavaScript. The file you drop is parsed in a Web Worker on your own device, converted in memory and handed straight back to you as a download. There is no upload endpoint, no server-side conversion service and no temporary storage: you can watch the network tab in your browser's developer tools and confirm that no file bytes are transmitted anywhere.
That matters more with fitness data than with most files. A GPS track is a precise log of where you were, at what time, and how hard your heart was working — home address, training habits, favorite routes and race schedule all in one file. Keeping conversion on-device means third-party converters never get a copy of that log, and the tool keeps working identically on a plane, in a basement, or anywhere else without signal.
FIT vs TCX for training data
| Aspect | FIT | TCX |
|---|---|---|
| Format type | Compact binary | Readable XML |
| Laps and intervals | Native lap messages | Native lap elements — equal standing |
| Heart rate / cadence | Native channels | Native elements |
| Power | Native channel | TPX extension per point |
| Session summaries, developer fields | Yes | No slot — dropped, not mangled |
| Opens in | Modern devices and platforms | Training Center, legacy coaching tools, Strava |
Frequently asked questions
Laps. In TCX every lap is a structured element with its own timing, distance and averages — the same first-class standing laps hold in FIT. GPX flattens a workout into a bare track, hints at lap boundaries as segments at best, and drops the lap metadata outright. For coaching tools, interval sessions and anything from the Training Center era, TCX is the faithful middle ground between the two.