Guides
How to Export Training App Data: Zwift, TrainerRoad
The short answer
- Zwift exports a .fit file from the Activity Feed (web or app) using the three-dot menu, then Export.
- TrainerRoad lets you download the .fit per ride from the Career page, plus a full CSV of all rides.
- Wahoo SYSTM saves rides locally and syncs to Strava/TrainingPeaks automatically once connected.
- Garmin Connect exports the original .fit via the activity gear icon, Export Original.
- A .fit file is the master record: keep it, because Strava and TrainingPeaks both import it directly.
To move a turbo session out of one app and into another, export the ride as a .fit file from the app you trained in, then upload that .fit to Strava or TrainingPeaks. Every major platform (Zwift, TrainerRoad, Wahoo SYSTM and Garmin Connect) can produce a .fit file, and that single file carries your power, heart rate, cadence and time data intact. Coaching clients through app migrations, the same handful of snags come up every time, so here is the workflow that avoids them.
Why export your data at all?
Most riders never think about it until something breaks. A ride fails to sync, an app subscription lapses, or you switch from Zwift to TrainerRoad and want your training history to come with you. Owning the raw .fit file means you are never locked in.
There are three common reasons to export:
- Analysis. TrainingPeaks and intervals.icu read deeper metrics than the app you rode in.
- Backup. If a platform deletes old activities or you cancel, your history survives.
- Migration. Moving to a new app without losing months of training load data.
Quick comparison: how each app exports
| App | File format | Where to export | Auto-syncs to Strava? |
|---|---|---|---|
| Zwift | FIT | Activity Feed, three-dot menu, Export | Yes, if connected |
| TrainerRoad | FIT (per ride) + CSV (all rides) | Career page or account | Yes, if connected |
| Wahoo SYSTM | FIT | Local folder + auto-sync | Yes, if connected |
| Garmin Connect | FIT (Export Original) | Activity, gear icon | Yes, if connected |
How to export your data from Zwift
Zwift is the one most people ask about, partly because it is the most used app and partly because the export is slightly hidden.
From the Zwift website or companion app
- Open the Zwift Activity Feed, either at my.zwift.com or in the Zwift Companion app.
- Find the ride you want and open it.
- Tap or click the three-dot menu in the top corner of the activity.
- Choose Export (or “Export to FIT”).
- The .fit file downloads to your device.
Straight from the computer you rode on
If you ride Zwift on a PC or Mac, you do not even need the website. Every session is saved as a .fit file the moment you finish, before it uploads.
The .fit file Zwift exports simply records whatever power your trainer reported during the ride, so its accuracy is only as good as your trainer. If you are unsure how trustworthy your numbers are, read my guide on understanding power readings on your turbo trainer.
How to export your data from TrainerRoad
TrainerRoad is built for structured training, so its export is more generous than most.
Single ride as a .fit
- Log in to TrainerRoad and open your Career page.
- Click the ride you want.
- Use the download option on the ride to save the .fit file.
Every ride as a CSV
TrainerRoad also offers a bulk CSV export of your whole ride history from your account settings. This will not give you each second-by-second .fit but it gives you a spreadsheet of every workout with the headline numbers: date, TSS, intensity factor, average and normalised power. I use this for season reviews with clients.
How to export your data from Wahoo SYSTM
Wahoo SYSTM (the app formerly known as The Sufferfest) handles this a little differently. It is designed to sync rather than to hand you files.
- In SYSTM, connect your Strava and TrainingPeaks accounts under Settings, Connected Apps.
- Once connected, every completed ride uploads automatically.
- For a local copy, SYSTM saves ride files on the device you trained on; on desktop these live in the Wahoo SYSTM data folder.
In practice the cleanest route with SYSTM is to let it auto-push to your platform of choice rather than hunting for files. If you only need the data in Strava or TrainingPeaks the connection does all the work. If you want a raw archive, grab the local file.
How to export your data from Garmin Connect
If you record turbo sessions on a Garmin head unit, or use a Garmin to capture power separately, Garmin Connect gives you the cleanest .fit of the lot.
- Open Garmin Connect on the web at connect.garmin.com.
- Open the activity you want.
- Click the gear icon in the top right corner.
- Choose Export Original.
- You receive the original .fit file exactly as the device recorded it.
“Export Original” is the key choice. It hands you the unmodified .fit rather than a re-processed version. That matters if you want every data field preserved.
Importing your .fit file into Strava
Once you have a .fit file, getting it into Strava takes seconds.
- On the Strava website, click the + in the top right, then Upload activity.
- Choose File and select your .fit.
- Strava processes it and adds it to your feed.
Importing your .fit file into TrainingPeaks
TrainingPeaks is where most serious analysis happens, and the import is just as simple.
- In TrainingPeaks, go to the day on your calendar.
- Click Upload (or drag the .fit straight onto the calendar).
- Select your .fit file and TrainingPeaks maps it onto your plan.
TrainingPeaks reads power, heart rate and cadence from the .fit and calculates TSS automatically. That is why I keep my master copies flowing here. To understand what those numbers mean for your sessions, see understanding training zones on the turbo and how training apps track progress.
Which file format should you choose?
If you are given a choice of formats, pick FIT first.
| Format | Keeps power? | Keeps GPS/route? | Best for |
|---|---|---|---|
| FIT | Yes, full detail | Yes | Everything, especially indoor power |
| TCX | Yes | Yes | Good fallback when FIT is not offered |
| GPX | Usually not | Yes | Outdoor routes only, avoid for power rides |
For a turbo session the whole point is the power data, so GPX is the wrong choice: it tends to drop your watts. Stick to FIT, or use TCX if FIT is unavailable.
A note on power smoothing
One thing that confuses riders comparing the same ride across apps is power smoothing. The raw .fit usually holds your real second-by-second power, but some apps display a smoothed average that looks tidier. If your exported numbers look different from what you saw on screen, that is often why. I explain it fully in understanding power smoothing in training apps, and it is worth a read before you panic that your data is wrong.
My recommended workflow
After years of untangling clients’ tangled training histories, here is the simple routine I now follow and recommend:
- Train in whatever app you enjoy. The ride feel matters more than the brand.
- Connect that app to one analysis platform (TrainingPeaks or Strava) and let it auto-sync.
- Once a month, export your .fit files to a personal cloud folder as a backup you control.
- Only do manual .fit uploads when something fails to sync, to avoid duplicates.
That keeps your training history portable, backed up and accurate, no matter which app or trainer you switch to next. If you are still choosing hardware, my best smart turbo trainers for Zwift roundup and the wider best turbo trainers guide will point you at trainers that record clean data in the first place.