What Is the FIT File Format?
The Flexible and Interoperable Data Transfer (FIT) protocol was developed by Garmin as a compact binary format for storing fitness and health data. Unlike text-based formats such as GPX or TCX, FIT files are extremely space-efficient — a one-hour activity with second-by-second recording typically takes just 50–200 KB. FIT files contain rich data: GPS coordinates, heart rate, cadence, power, temperature, vertical oscillation, ground contact time, and hundreds of other fields depending on your device and sensors.
Converting FIT to CSV opens this data for analysis in spreadsheet applications like Excel, Google Sheets, or LibreOffice Calc, as well as data analysis tools like Python pandas or R. CSV (Comma-Separated Values) is a universal text format that virtually every data tool can read, making it the ideal bridge between your fitness device and custom analysis. This converter processes your FIT file entirely in the browser — your data never leaves your device.
Why Convert FIT to CSV?
The FIT binary format is excellent for storage and device performance, but it is not human-readable and requires specialist software to open. Converting to CSV removes this barrier entirely — spreadsheet applications like Microsoft Excel, Google Sheets, LibreOffice Calc, and data science tools like Python pandas or R can all read CSV files natively. This makes FIT-to-CSV the standard first step for athletes who want to build custom training dashboards, run statistical analysis across multiple activities, or share raw data with a coach or sports scientist.
CSV is also the ideal format for combining data across multiple activities or devices. You can append CSV files from different sessions, merge data from a Garmin watch and a power meter recording simultaneously, or join training data with external datasets like weather or race results — tasks that would require specialised tools when working directly with FIT files.
For long-term training analysis, CSV is often more practical than interactive platforms. A simple script that processes a folder of exported CSVs can calculate your chronic training load across an entire season, build a personalised power curve with more precision than any platform's automatic calculation, or identify the exact conditions — temperature, gradient, fatigue level — under which your best performances occurred.
What Data Is Exported?
Every trackpoint in the FIT file becomes one row in the CSV output. Columns include: timestamp (ISO 8601 UTC), latitude and longitude in decimal degrees (automatically converted from Garmin's raw semicircle format), altitude in metres above sea level, cumulative distance in metres, heart rate in bpm, cadence in rpm (cycling) or steps per minute (running), power in watts if a power meter was present, speed in metres per second, and ambient temperature in Celsius. Columns with no data for a given activity — such as power_w for a GPS-only run — contain empty cells rather than zeros, so you can distinguish missing data from a genuine zero reading.
What columns are in the CSV output?
| Column | Description |
|---|---|
| timestamp | ISO 8601 datetime |
| latitude | Degrees decimal |
| longitude | Degrees decimal |
| altitude_m | Metres above sea level |
| distance_m | Cumulative distance in metres |
| heart_rate_bpm | Beats per minute |
| cadence_rpm | Revolutions per minute (cycling) or steps per minute (running) |
| power_w | Watts (if power meter present) |
| speed_ms | Speed in metres per second |
| temperature_c | Ambient temperature in Celsius |
Use cases for FIT CSV data
- Build custom charts in Google Sheets or Excel
- Analyse power, HR, and pace data with Python/pandas
- Import into R for statistical training analysis
- Feed data into machine learning models
How to Use This Converter
Click the upload area or drag and drop your .fit file — files up to 50 MB are supported. The converter runs entirely in your browser using the open FIT SDK specification; no data is uploaded to any server. Once parsed, the CSV downloads automatically. Multi-sport activities like triathlons are fully supported: all segments — swim, bike, run, transition — appear in a single CSV with continuous timestamps, so you can analyse transition times and effort across disciplines in one view.
In Python, load the CSV with pandas: df = pd.read_csv('activity.csv', parse_dates=['timestamp']). For power analysis, df['power_w'].rolling(30).mean() calculates the 30-second rolling average that underpins normalised power and intensity factor. For heart rate zone distribution, filter rows by heart_rate_bpm and use .count() to find time in each zone.
vs. Garmin Connect and Strava Exports
Garmin Connect and Strava both offer CSV exports, but they export summary data or per-lap averages — not the raw second-by-second trackpoints. This converter exports every record in the FIT file at its native recording rate, giving you full temporal resolution for accurate power curve analysis, heart rate variability study, and pacing research. If you need the raw data rather than aggregated summaries, this tool is the right choice.
Common Issues When Converting FIT to CSV
Some FIT files from older devices may have missing fields (no power data, no temperature). The converter outputs empty cells for these — this is normal and won't affect your analysis. If your CSV shows semicircle values instead of decimal degrees for GPS coordinates, the FIT file uses Garmin's raw semicircle format, which this tool automatically converts to standard decimal degrees. Large multi-sport FIT files (e.g., triathlon with swim, bike, run) are fully supported — all activity segments are included in the CSV output with appropriate timestamps.
If your FIT file fails to parse, likely causes include: a partially-written file from a device whose battery died mid-activity; a synchronisation-only FIT file (common in older Garmin devices that create small index files alongside activity FITs); or a FIT file from a smart scale, golf watch, or sleep tracker that records personal data rather than an activity session. These produce either an error or an empty CSV — both are expected behaviour, not a tool defect.
Adaptive Sport and Handcycle Data
FIT files from handcycles, wheelchair sports computers, and rowing ergometers are fully supported. Devices such as the Garmin Edge series used by wheelchair road racers and handbike athletes record the same timestamp, GPS, power, cadence, and heart rate fields as upright cycling devices. The CSV output is identical — adaptive athletes and their coaches can use the same Python, R, or Excel analysis workflows as any other athlete, with no modifications required.