Free tool · FIT Toolkit
Convert FIT, GPX, and TCX files in your browser.
Convert FIT to GPX, GPX to FIT, TCX to GPX, or any other combination - plus JSON and CSV for analysis. Drop any Garmin, Wahoo, Coros, or Polar activity file and download the format you actually need. Free FIT file converter, no signup, no upload - the file decodes in your browser using the official Garmin SDK and the conversion runs locally on your device.
Free · no signup · your file stays on your device
How it works
- 1
Drop your file
FIT from your head unit, GPX from a route, TCX from an export - all good.
- 2
Pick a target format
GPX for sharing, TCX for the old guard, JSON or CSV for analysis, FIT to keep full fidelity.
- 3
Download instantly
Conversion runs in your browser. Nothing uploaded, nothing logged, nothing waiting in a queue.
What you get
- FIT decoding via the official Garmin FIT SDK
- Round-trip safe FIT re-encoding without losing fields
- JSON export with every message and field for analysis
- CSV export of the record stream for spreadsheets and Python
- Distance and duration preview before you download
- Works offline - file stays on your device, no signup required
More from the FIT toolkit
See all toolsFIT Time Adjuster
Fix the clock without re-doing the workout.
OpenFIT Sport Changer
Tell every platform what you actually did.
OpenFIT Device Changer
Tell the file which device it came from.
OpenFIT Elevation Setter
Fix flat trainer rides or noisy phone tracks.
OpenClone and Retime
Re-stage any ride for any clock.
OpenFIT Section Remover
Snip out the part of the ride you don't want.
OpenFIT Break Remover
Cut the coffee stop, keep the ride.
OpenFIT Peak Remover
Kill the bogus spikes, keep everything else.
OpenFAQ
How do I convert a FIT file to GPX online?
Drop the FIT file into the converter, pick GPX as the target format, and download. The conversion runs entirely in your browser. Routes, elevation, timestamps, heart rate, and cadence carry through. Power gets written into the Garmin TrackPoint extension. The whole process takes about a second and the file never leaves your device.
How do I convert GPX to FIT?
Drop the GPX into the converter and pick FIT as the target. The output is an activity-typed FIT with each GPX trackpoint as a record message, timestamps preserved, and elevation carried through. If you want a navigable course FIT (with turn prompts) instead of an activity FIT, use our [GPX to FIT Course Converter](/tools/gpx-to-fit-course) - that tool detects turns and writes course_point waypoints.
Does my file get uploaded anywhere?
No. The converter uses the official Garmin JavaScript FIT SDK and the browser's native XML parser, both of which run entirely in your browser. The bytes never leave your machine, nothing is logged, no analytics ping carries any file content. The only network call the page makes is to load the page itself; after that, you can disconnect the wifi and the converter still works.
What is the difference between FIT, GPX, and TCX?
FIT is Garmin's binary activity format - small files, rich metadata, holds power and laps and device info, but you cannot open it in a text editor. GPX is the universal XML route format - readable in any text editor, holds trackpoints and elevation, but lacks first-class slots for power and lap structure. TCX is Garmin's older XML format - heavier than GPX but with native HR/cadence/power and lap data. Use FIT for full fidelity, GPX to share with anyone, TCX for legacy platforms that demand it.
What data gets dropped going from FIT to GPX?
GPX has no first-class slot for power or lap structure. The converter writes power into the Garmin TrackPoint extension (which most platforms read), and HR/cadence into the standard GPX extensions. Lap boundaries are written as waypoints. Device info, session totals, and FIT-specific event messages do not have GPX equivalents and are dropped. If you need full preservation, keep the FIT or convert to TCX instead.
Why convert to JSON or CSV?
For analysis outside the standard training platforms. JSON gives you the entire decoded FIT as a nested object - every message, every field, every record - which is the format you want for custom scripts or for diffing two files. CSV exports just the per-second record stream (time, lat, lon, elevation, HR, power, cadence, speed) which is what spreadsheets and Python pandas want. Use JSON for full structure, CSV for time-series work.
Will Strava and Garmin Connect accept the converted FIT?
Yes - the output is a fully valid FIT re-encoded via the official Garmin SDK with correct CRC and headers. Strava treats it like any other upload. If the original file was already in Strava and you are re-uploading the converted version, you will hit duplicate detection - either delete the original first or shift the start time using our [FIT Time Adjuster](/tools/fit-time-adjuster).
Can I batch convert multiple files at once?
One file at a time today. If you need to merge two or more files into a single activity, use our [FIT Combiner](/tools/fit-combiner). For true batch workflows (a folder of files all converted), drop a note via the waitlist and we will prioritise.
Save your training to a real log
Convert once, then keep every ride and run analyzed in one place. Domestique reads the data for you.
Join the waitlist