When exporting Garmin data is actually necessary
Most of the time, people who say "I want to export my Garmin data" actually mean something else. They want better analysis. Clearer charts. A coaching view that makes sense of what their body battery, HRV, and training load are telling them in combination. For that use case, exporting is the wrong solution: a connected tool is better.
But there are genuine reasons to pull raw files out of Garmin Connect. Here are the ones that actually hold up:
Migrating to a different platform. If you are moving your training history to TrainingPeaks, Intervals.icu, or another long-term home, you need your data in a file format those platforms can ingest.
Backing up before switching watches. Garmin Connect stores your history, but having a local archive before you factory-reset your old device is sensible insurance.
Sharing a specific workout with a coach. A coach using their own analysis software may want the raw FIT file from your race or key session.
Deep analysis in custom tools. If you write Python or R and want to build your own models, you need the raw data. Libraries like fit-parse and tools like GoldenCheetah make this possible.
For everything else — "I want to understand my training better," "I want someone to tell me what this data means," "I want smarter recommendations" — a synced tool that reads your Garmin data continuously is a faster and more complete answer than a one-time export. More on that at the end.
The four main export paths
Garmin gives you several ways to get your data out. Each one serves a different purpose.
- Individual activity export — download a single workout as FIT, TCX, GPX, or KML from Garmin Connect's web interface. (No CSV here; see below for where Garmin's CSV actually lives.)
- Full account data export — request your entire history as a bulk archive, delivered by email on a timeline Garmin does not publish.
- Auto-sync to third-party apps — Garmin Connect's partner integrations push activities automatically to Strava, TrainingPeaks, and others.
- API access — programmatic access via the Garmin Health API or through third-party services that abstract the connection.
| Method | Best for | Format | Lag |
|---|---|---|---|
| Individual export | Single workout, coach sharing | FIT / TCX / GPX / KML | Immediate |
| Bulk account export | Full history backup, platform migration | ZIP archive | Not published by Garmin |
| Auto-sync | Ongoing third-party use | Platform-native | Minutes after activity sync |
| API access | Custom tools, automated pipelines | FIT / JSON | Real-time (requires setup) |
Exporting a single activity
This is the fastest route when you need one specific workout.
Step 1. Open Garmin Connect on the web (not the mobile app: the export option is only in the browser).
Step 2. Navigate to Activities in the left menu, then click the activity you want to export.
Step 3. On the activity page, look for the gear icon (settings) in the upper-right corner of the activity detail view.
Step 4. Click the gear icon to open a dropdown. Select Export Original to download the raw FIT file, or pick one of the three conversions Garmin offers: Export to TCX, Export to GPX, or Export to Google Earth, which gives you a KML file. That is the whole menu. There is no CSV option on an individual activity, and there never was one — Garmin's own support and forum threads about broken exports discuss TCX, GPX and Google Earth, and nothing else.
Step 5. Save the file. The filename will typically include the date and activity type.
Which format should you use?
FIT (Flexible and Interoperable Data Transfer) is the native Garmin format. It contains every data point your watch recorded — power, cadence, heart rate, GPS coordinates, HRV, temperature, and any device-specific metrics. Use FIT whenever you want accuracy and completeness.
KML (Google Earth) is what the Export to Google Earth option produces. It carries the track and elevation and drops everything physiological. Use it if you want to fly the route in Google Earth; use GPX if you want to feed it to a mapping tool.
GPX (GPS Exchange Format) is a route and track format used by mapping tools. It preserves GPS coordinates and elevation but discards most physiological data. Use GPX if you want to import a route into Komoot, RideWithGPS, or a navigation device.
TCX (Training Center XML) is an older Garmin format with decent third-party compatibility. It includes HR, cadence, and GPS, but not the full sensor data that FIT carries. Use TCX if a specific platform requires it and FIT is not accepted.
For deeper analysis, always start with FIT. You can always convert down to a simpler format. You cannot recover data that was never exported.
Where Garmin's CSV actually is
Garmin does give you a CSV, but not from an activity. It comes from the activity list. Open Activities, scroll until every session you want has loaded into the table, then use the Export CSV control at the top right of the list. What you get is one row per activity: date, type, distance, time, average and max heart rate, elevation, and the rest of the summary columns the table shows. It is a spreadsheet of your training log, not a recording of any single session.
Two things to know before you rely on it. It only exports the rows currently loaded on the page, so an account with years of history needs a lot of scrolling before you click, and Garmin does not document the column set, which varies between accounts.
Correction. An earlier version of this article said you could download a single activity as CSV, and described that file as "one row per second or per lap." That file does not exist. Garmin's per-activity menu has never offered CSV, and the only CSV Garmin produces is the summary table described above. We got it wrong, it sat here for months, and other guides copied it from us. If you came here looking for a per-second CSV of one workout, the honest answer is that you have to export FIT and convert it yourself.
Bulk export — your full Garmin Connect history
When you need everything, Garmin's account data export is the right tool. It is slow and slightly unglamorous, but it works.
How to request it
- Log in to Garmin Connect on the web.
- Click your profile picture or name in the top-right corner.
- Select Account Settings from the dropdown.
- Scroll down to Export Your Data (sometimes listed under Privacy Settings or Data Management, depending on your region).
- Click Export Data. Garmin will confirm your request and send a download link to your registered email.
The wait. Garmin does not document how the archive is assembled or commit to a turnaround, and we could not find a Garmin source that does. Anyone telling you it takes 24 to 48 hours, this article included until now, is repeating a number nobody published. Assume it is not instant, request it before you need it rather than the night you need it, and watch the inbox on the address attached to your Garmin account.
What is included
The archive arrives as a ZIP file. Inside you will find:
- Activity files: your workouts as FIT files, nested one level deeper than you expect. They are not loose in the archive: an uploaded-files folder under
DI_CONNECT/holds further ZIPs namedUploadedFiles_0-_Part1.zipand onward, and the FIT files live inside those. Sources disagree on the exact folder name (DI-Connect-Uploaded-Filesin COROS's Garmin import guide,DI-Connect-Fitness-Uploaded-Filesin recent Garmin forum reports), so unzip and look rather than trusting a path - Activity summaries: a
..._summarizedActivities.jsonfile inDI_CONNECT/DI-Connect-Fitness/, which is how you match activity names to FIT files, since the FIT filenames are timestamps - Wellness data: sleep, stress, body battery and HRV as JSON under
DI_CONNECT/DI-Connect-Wellness/, in files like2024-09-22_2024-12-31_<id>_sleepData.json. These are Garmin's computed nightly summaries, not the raw sensor trace - Personal data: profile information, goals, body measurements
- Device information: your connected devices and settings history
Note the file formats: FIT and JSON. There is no CSV in the archive. An earlier version of this article said the wellness data arrived as CSV files. It does not, and our Polar export guide, which compares the two archives directly, describes it correctly.
What is NOT included
A few things do not make it into the bulk export:
- Training status history: Garmin's derived metrics (Base, Build, Peak, Unproductive labels) are not stored historically in exportable form
- Physiological baseline trends: metrics like your estimated VO2 max over time are summarised but not provided in their full granular form
- Course data: saved courses are not part of the activity export
If Garmin Connect's data visualisation limitations are why you are here, keep in mind that the bulk export delivers raw files, not better charts. You will still need a tool to make sense of the archive.
Auto-sync to third-party apps
The cleanest ongoing solution for most athletes. Rather than manually exporting each activity, you connect your Garmin account to a third-party platform once, and activities sync automatically after every upload.
Strava
Strava is the most common Garmin integration. To connect: in Garmin Connect, go to Connected Apps under your profile settings, find Strava, and authorise the connection. After that, every activity that syncs to Garmin Connect is pushed to Strava within a few minutes.
What syncs: GPS route, distance, time, pace/speed, heart rate, elevation, laps. Strava segments and live features depend on your Strava subscription tier.
What does not sync: Most Garmin-specific metrics — body battery, HRV, sleep, training status, and device-specific power data like running power (depending on your Strava plan).
TrainingPeaks
TrainingPeaks pulls the full FIT file, which means structured workouts, power data, and TSS/ATL/CTL calculations work correctly. It is the platform of choice for coaches who write structured plans. Connect it the same way through Garmin Connect's Connected Apps section.
Calculate your acute and chronic load from your own sessions to see where the ratio actually sits.
Other platforms worth knowing
- Intervals.icu: free, pulls FIT files via Strava or directly, excellent power and load analysis. Popular with cyclists and data-focused triathletes.
- Final Surge: coach-athlete platform with solid Garmin Connect sync. Focused on communication as much as data.
- Today's Plan: premium performance platform with full FIT import and AI-assisted load management.
- Wahoo SYSTM: syncs from Garmin for indoor training context, primarily useful if you also use Wahoo hardware.
What each platform actually uses from your Garmin data
| Platform | GPS/Route | HR | Power | Sleep/HRV | Structured Workouts | AI Analysis |
|---|---|---|---|---|---|---|
| Strava | Yes | Yes | Basic | No | No | Limited |
| TrainingPeaks | Yes | Yes | Full | No | Yes | No |
| Intervals.icu | Yes | Yes | Full | No | Yes | Basic |
| Final Surge | Yes | Yes | Basic | No | Yes | No |
| Gneta | Yes | Yes | Full | Yes | Yes | Yes |
The pattern you will notice: most platforms pull the workout data well, but none of them read Garmin's health metrics — sleep, stress, HRV, body battery. Those metrics do not travel through the Strava-shaped activity pipes the other platforms use, so reading them takes a tool that goes to your Garmin Connect account for them directly. That gap is a big part of why Garmin Connect alternatives exist.
Programmatic access
For the self-builders: Garmin offers two API paths.
Garmin Health API is the official route. It provides access to activity summaries, heart rate, sleep, stress, and daily health data in real time. The catch: it requires a commercial application approval. You apply to Garmin as a business or developer, and access is not instant or guaranteed. It is designed for app developers, not individual tinkerers.
Third-party bridges. Some platforms abstract the API complexity. If you connect Garmin → Strava → a tool with a Strava API key, you can pull activity data without dealing with Garmin's commercial API directly. You lose health metrics through this route, but workout data comes through cleanly.
Local analysis options. If you want to work with FIT files without an API:
- python-fitparse: a Python library that parses FIT files into DataFrames. Well-documented, actively maintained.
- GoldenCheetah: open-source desktop software with a built-in FIT importer, extensive metrics library, and scripting support. Steep learning curve, extremely powerful.
- R with the FITfileR package: a solid option if your data work lives in R.
The best Garmin data analysis tools for self-analysis cover these options in more depth if you want to go that direction.
The simpler alternative
Here is the honest version of this guide: for most athletes, exporting Garmin data is a workaround for not having a better coaching view of that data.
You do not actually need a spreadsheet of your heart rate data. You need to understand what your heart rate data means in the context of your sleep, training load, and recent illness. You do not need a bulk archive of your FIT files. You need a view of your training history that shows you trends and tells you what to do next.
That is the problem connected tools are built to solve. They read your Garmin Connect data continuously — not as a one-time download, but as a live feed. You get updated analysis every time you complete a workout, without ever touching a file.
We used to sell exactly that: Gneta ran for a year as an AI coaching service on top of Garmin Connect data before closing in August 2026, which is why this guide can describe the plumbing from the inside. Today the same job is done by connecting your Garmin data to an AI assistant you already use — there are four working routes, from Garmin's sanctioned partner API to servers you run yourself, and they differ mostly in who ends up holding your credentials.
Since this is an article about who controls your data, here is exactly how our own connection worked, including the unflattering part. Gneta was not a Garmin partner and did not use Garmin's official Health API. You gave it your Garmin Connect credentials, it signed in to your account as you using the open-source python-garminconnect library, and it pulled your data on a schedule. That is the same unofficial route most community connectors still take, and it has real consequences you should weigh before handing credentials to anything: sync is polling-based rather than push, so new data lands after the next poll and not the moment your watch uploads; accounts with multi-factor authentication need extra setup; and when Garmin changes its internal endpoints, sync breaks until the library catches up. An earlier version of this article claimed the Health API. That was wrong, and being wrong about our own plumbing in a guide about data portability is worse than being wrong about Garmin's.
If you are building a data pipeline or migrating platforms, the export steps above are what you need. If you are trying to train smarter, the export is the long way around.
Related reading:
- Garmin Connect limitations and where companion apps help
- Best Garmin Connect alternatives in 2026
- Why your Garmin data is more valuable than you think
- Garmin data analysis tools compared
- Garmin Connect Plus vs free — what you actually get
- Why Garmin Connect charts are so hard to read
- Fix your Garmin: troubleshooting, setup and every export path