What is the TCX file format?
.tcx is an XML database file developed by Garmin for fitness and GPS activity tracking. Originally associated with Garmin Training Center, it has since become a widely adopted interchange format across fitness platforms. A .tcx file contains various data related to sports, including type of sport, time records, distance, burned calories, training intensity, and heart rate.
.tcx files are encoded in XML format and serve as a means of exchanging data between physical activity monitoring devices and online services such as Garmin Connect and Strava, where workout history can be archived and analysed.
The format comes in two versions - TCX v1 and TCX v2 - with v2 being the current standard, defined by Garmin's TrainingCenterDatabasev2.xsd schema. Files open with a <TrainingCenterDatabase> root element and organise data in a hierarchy of Activities, Laps, Tracks, and Trackpoints, each carrying GPS coordinates, altitude, heart rate, and cadence.
.tcx is closely related to the .gpx GPS exchange format but adds fitness-specific structures such as lap splits and per-lap calorie counts. It can also be converted to the compact binary .fit format using tools like GPSBabel.
Security & safety
RISK: LOWTCX is plain XML with no executable content, so the file itself is harmless to open. The real concern is privacy: like any activity file it contains exact GPS coordinates and timestamps and can reveal your home, regular routes and schedule, plus health data (heart rate). Before sharing TCX files publicly, trim start/end points near home and consider removing timestamps/HR if you don't want to disclose them.
Format details
in a nutshellPrograms that open TCX files
Technical details
deep spec| Developer | Garmin |
| Base encoding | UTF-8 XML (plain text, no binary structure) |
| MIME type | application/vnd.garmin.tcx+xml |
| XML root element | <TrainingCenterDatabase> in the Garmin TrainingCenterDatabasev2 namespace |
| Schema definition | XML Schema Definition (XSD) file: TrainingCenterDatabasev2.xsd, hosted by Garmin |
| Format versions | TCX v1 (legacy) and TCX v2 (current standard) |
| Data hierarchy | TrainingCenterDatabase → Activities → Activity → Lap → Track → Trackpoint |
| Trackpoint fields | Timestamp (UTC), latitude/longitude (decimal degrees), altitude (metres), distance (metres), heart rate (bpm), cadence (rpm), speed (m/s), power (watts) |
| Enumerated sport types | Running, Biking, Other (defined as an enumeration in the v2 XSD) |
| Per-lap metadata | Total time, total distance, calories, max speed, average and max heart rate, intensity level, trigger method |
| File identification | No binary magic bytes; identified by the <TrainingCenterDatabase> root element immediately following the XML declaration |
| Multi-activity support | A single .tcx file can contain multiple Activity records under one root element |
| Heart rate encoding | Integer beats per minute (bpm) stored in <Value> inside a <HeartRateBpm> element |
| Coordinate system | WGS 84 decimal degrees; altitude in metres above mean sea level |
| Released | 2007 (Garmin Training Center / TCX schema) |
| Open standard | Yes · royalty-free |
| Specification | www8.garmin.com |
TCX conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about TCX files.