TCX (.tcx)

TCX, Training Center XML, is Garmin's XML format for workouts. Where GPX records a line on a map, TCX records a training session — laps, heart rate, cadence and calories included.

At a glance

Extension .tcx
Encoding xml
Invented 2007
By Garmin
Current version TrainingCenterDatabase v2

History

Garmin introduced TCX in 2007 as part of its Training Center desktop software. It was the answer to a specific shortcoming: GPX describes geometry, and there was nowhere in it to put the sensor data a training device collects. Garmin later moved its devices to the binary FIT format, but TCX remains widely supported as a readable, portable export.

Where it is used

TCX is accepted as an activity upload by Garmin Connect, Strava and TrainingPeaks, and it is the export a lot of older Garmin hardware and Garmin Training Center produce. It is the format to reach for when something needs lap and heart-rate data but cannot read FIT.

Structure

A TCX file is XML rooted in a TrainingCenterDatabase element. The unit is the Activity rather than a bare list of points: each Activity holds Laps, each Lap holds a Track of Trackpoints, and each Trackpoint carries time, position, altitude, distance and — through the ActivityExtension schema — heart rate, running or cycling cadence, speed and power. Lap-level summaries hold total time, distance, calories and maximum values.

How widespread

TCX is the interoperable middle ground of the training world: less compact than FIT, far more expressive than plain GPX, and readable in a text editor. Most fitness platforms still accept it, which makes it a useful fallback when a FIT file is rejected.

RouteConverter support

Reads Training Center Database 1, Training Center Database 2
Writes Training Center Database 1, Training Center Database 2

RouteConverter reads and writes both schema generations, TrainingCenterDatabase v1 and v2. The v2 schema is the one current tools expect; v1 exists for files from the first Training Center releases.

Specifications and documentation