English
Workout file converter — FIT, TCX, ZWO & Garmin
Scope
Converts structured workouts (steps and targets), not recorded activities. See Workouts vs. activities.
Convert workout files between FIT, TCX, ZWO (Zwift), and Garmin Connect formats — free, in your browser, with no account and no file upload. Choose a file in the Kaiord Editor and download the result. Developers can script the same conversions with the CLI or the TypeScript SDK.
Every conversion goes through KRD, Kaiord's canonical format, so round-trips stay within tight tolerances (time ±1 s, power ±1 W or ±1 % FTP, heart rate ±1 bpm, cadence ±1 rpm). See the KRD format for the details.
Pick a conversion
| From ↓ / To → | FIT | TCX | ZWO (Zwift) | Garmin |
|---|---|---|---|---|
| FIT | — | FIT → TCX | FIT → ZWO | FIT → Garmin |
| TCX | TCX → FIT | — | TCX → ZWO | TCX → Garmin |
| ZWO | ZWO → FIT | ZWO → TCX | — | ZWO → Garmin |
| Garmin | Garmin → FIT | Garmin → TCX | Garmin → ZWO | — |
All twelve directed pairs have a guided walkthrough. Every conversion uses the same kaiord convert command and SDK calls — the format is detected from the file extension.
Three ways to convert
- Editor — kaiord.com/app. Choose a file, pick the target format, download. Nothing leaves your browser.
- CLI —
kaiord convert -i workout.fit -o workout.zwo. Formats are detected from the extensions. See the CLI reference. - SDK —
@kaiord/coreplus the reader/writer for each format. See the Quick Start.
Workouts vs. activities
A workout is the plan: an ordered list of steps, each with a duration (time, distance, open…) and a target (power, heart rate, pace, cadence). It is what you load on a watch or head unit before a session. An activity is the recording of a session you already did: the samples, laps and totals your device logged.
These converters move workouts between formats. FIT and TCX can also hold activities, and the Kaiord app can import a recorded activity onto your calendar, but these pages do not turn a recorded ride or run into a workout, and a converted file carries no recorded data.
What is lossless?
KRD is designed to be round-trip safe, but the source and target formats are not identical — each pair page has a "What survives the conversion" table and the gotchas that matter for that direction. In short:
- FIT is the richest workout format (power, heart rate, cadence, speed, and distance/time durations).
- TCX workout targets are heart rate, speed, and cadence — not power.
- ZWO is power-based (% of FTP); heart-rate and cadence targets have no native equivalent.
- Garmin Connect (GCN) covers power, heart rate, speed, and cadence in watts/bpm/rpm, plus calorie durations. Power targets in % FTP (every ZWO target, ramps included, and FIT targets stored as % FTP) are converted to watts with your FTP; without one the conversion stops instead of guessing.
Format-specific data that has no target-side equivalent is preserved under the KRD extensions object so it can survive a later round-trip.