Free online TCX to CSV converter
Convert workout trackpoints from TCX XML into spreadsheet-ready CSV columns.
Convert TCX to CSV online - free
Your file is processed instantly and never stored on our servers.
Import a file from a URL
Paste a direct link to the file. We download it to our server and it is converted exactly like an upload.
How it works
-
1/3
Upload your .tcx file
Click to browse to select your file you want to convert or simply drag & drop your file into selected area.
-
2/3
Perform .tcx to .csv conversion
After successful file upload, click to convert when you are ready.
-
3/3
Download converted .csv file
Conversion result is ready to download.
How to convert tcx to csv file
- GPS navigation, maps, GIS
- No ratings yet.
101convert.com assistant bot
32m
Fitness platforms and spreadsheets often need TCX workout data in tabular form for analysis, filtering, or long-term archiving. Converting it to CSV exposes individual trackpoints such as time, coordinates, elevation, heart rate, cadence, and distance in applications that do not read XML-based training files.
What the TCX format is
TCX, or Training Center XML, is an XML format originally associated with Garmin Training Center. It stores structured fitness data including activities, laps, trackpoints, timestamps, GPS coordinates, altitude, distance, speed, heart rate, and cadence.
Garmin watches and bike computers commonly export TCX files. Garmin Connect, Strava, TrainingPeaks, GoldenCheetah, and other training applications may also create or export them. You usually encounter TCX after downloading a run, ride, walk, or multisport activity from a fitness service.
What the CSV format is
CSV stores records as rows and fields as comma-separated columns. Spreadsheet programs such as Microsoft Excel, LibreOffice Calc, and Google Sheets can open it, as can databases, statistical software, Python, R, and command-line tools.
CSV is useful when you need to sort or filter samples, calculate averages, plot a route, combine multiple activities, or import workout data into software that does not support TCX. It is usually smaller and easier to inspect than XML, but it does not preserve TCX's nested activity, lap, and extension structure unless those values are flattened into columns.
How to convert TCX to CSV
Using the built-in online converter
- Open the TCX-to-CSV converter on 101convert.com.
- Upload the
.tcxfile. - Choose CSV as the output format and start the conversion.
- Download the resulting
.csvfile and open it in a spreadsheet or data-analysis program.
This method requires no installed software. Check the output columns before analysis, because different TCX files contain different optional fields.
Using a Python script locally
For repeatable processing or sensitive workout data, save the following as tcx_to_csv.py:
import csv
import sys
import xml.etree.ElementTree as ET
source = sys.argv[1]
target = sys.argv[2]
root = ET.parse(source).getroot()
fields = [
"time", "latitude", "longitude", "altitude_m", "distance_m",
"heart_rate_bpm", "cadence_rpm", "speed_m_s"
]
def value(parent, name):
element = parent.find(f".//{{*}}{name}")
return "" if element is None else element.text or ""
with open(target, "w", newline="", encoding="utf-8") as output:
writer = csv.DictWriter(output, fieldnames=fields)
writer.writeheader()
for point in root.findall(".//{*}Trackpoint"):
position = point.find("./{*}Position")
latitude = ""
longitude = ""
if position is not None:
latitude = value(position, "LatitudeDegrees")
longitude = value(position, "LongitudeDegrees")
heart_rate = point.find("./{*}HeartRateBpm/{*}Value")
cadence = point.find("./{*}Cadence")
speed = point.find("./{*}Extensions//{*}Speed")
writer.writerow({
"time": value(point, "Time"),
"latitude": latitude,
"longitude": longitude,
"altitude_m": value(point, "AltitudeMeters"),
"distance_m": value(point, "DistanceMeters"),
"heart_rate_bpm": "" if heart_rate is None else heart_rate.text or "",
"cadence_rpm": "" if cadence is None else cadence.text or "",
"speed_m_s": "" if speed is None else speed.text or ""
})
Run it with:
python tcx_to_csv.py workout.tcx workout.csv
The script uses namespace-independent XML searches, so it works with common TCX namespace versions. It creates one row per Trackpoint; summary values stored only at activity or lap level are not included.
Quality and compatibility considerations
- Optional fields: TCX files may omit GPS, heart rate, cadence, speed, or distance for some or all points. Empty CSV cells represent missing values, not zero.
- Units: TCX commonly stores altitude and distance in meters, coordinates in decimal degrees, speed in meters per second, and cadence in revolutions per minute. Convert units after import if your analysis requires miles, feet, kilometers per hour, or another system.
- Time values: Timestamps are normally ISO 8601 values and may include a UTC offset or the
ZUTC suffix. Preserve the original timestamp until you deliberately convert time zones. - Heart-rate extensions: Some devices place manufacturer-specific data inside
Extensions. A basic converter may omit power, running dynamics, temperature, vertical speed, or left/right cycling metrics. - Multiple activities: A TCX file can contain several activities and laps. A trackpoint-only export may not retain activity or lap boundaries; add those fields if later analysis depends on them.
- Locale settings: CSV import dialogs may interpret commas, decimal points, or dates according to regional settings. If columns appear in one field, select comma as the delimiter and UTF-8 as the encoding.
Note: This tcx to csv conversion record is incomplete, must be verified, and may contain inaccuracies. Please vote below whether you found this information helpful or not.
TCX vs CSV: format comparison
How the TCX and CSV formats compare on the properties that matter most for this conversion.
| Property | .TCX Training Center XML | .CSV Comma-Separated Values |
|---|---|---|
| Open standard | Partly open | Yes |
| Compression | Uncompressed | Uncompressed |
| Typical file size | Medium | Small |
| Opens in a web browser | No | Yes, natively |
| Further editing | Easy | Easy |
| Metadata support | Extensive | Basic |
| Plain-text readable | Yes | Yes |
| Best used for | Data exchange | Data exchange |
| Introduced | 2007 | — |
| Developer | Garmin Ltd. | — |
| MIME type | application/vnd.garmin.tcx+xml | text/csv |
Frequently asked questions
Is the TCX to CSV converter free?
Yes, converting TCX to CSV on 101convert.com is completely free. No registration, email address or installation is required. If you need a higher file size limit or want to convert more files at once, see our plans.
How large can my TCX file be?
You can upload TCX files up to 50 MB and convert up to 20 files at once in a single batch.
What happens to my uploaded files?
Files are processed automatically and deleted from our servers within a few minutes after conversion. We never view or share your files.
Do I need to install any software to convert TCX to CSV?
No. The TCX to CSV conversion runs entirely online in your browser and works on Windows, Mac, Linux, Android and iPhone.
Did the conversion fail?
In most cases, the cause is an incorrect file format. Please upload a valid TCX file for this TCX to CSV conversion. Occasionally, the issue may be on our side. We analyze recurring conversion failures and disable or fix the converter if we detect a defect.