Convert TCX to KML

Your file never leaves your device — conversion happens here in your browser.

A TCX file from a Garmin device typically carries more than most people realize — heart rate, cadence, power, and full lap-by-lap structure alongside the route itself. None of that makes it into KML. KML is built for one job, rendering a path in Google Earth or a similar viewer, and its schema simply has no fields for sensor readings or lap boundaries — geometry and a timestamp per point are all it was ever designed to hold, so this conversion strips everything down to that before it writes the file. If your reason for converting is to look at where you went — flying through a route in Google Earth, checking the line against terrain, sharing a visual with someone who doesn't need the numbers — that's exactly what this produces, and cleanly. If you need the training data alongside a viewable route, this is the wrong direction: consider TCX to GeoJSON instead, which keeps heart rate, cadence, and power attached to each point (though it drops laps too, since GeoJSON has no lap concept either) and still opens in modern web-mapping tools. One structural note carried over from the GPX-to-KML conversion on this site: KML writes coordinates as longitude, latitude, elevation, reversed from TCX's own ordering, which is a property of the KML spec rather than anything this tool changes. Position, elevation, and per-point timestamps come through exactly. As with everything on FitFileHub, this happens entirely in your browser — no upload, no account — so a training route from a private location never has to touch a server just to become a KML file you can look at.

Questions

Will my heart rate and power data appear in the KML file?

No. KML has no fields for sensor data at all — it's a geometry format for viewers like Google Earth, so heart rate, cadence, and power are dropped in every TCX to KML conversion, not just this one.

What happens to my lap splits?

They're dropped too. KML has no lap concept, so lap boundaries from your TCX file don't carry into the output.

What if I want the sensor data and a viewable map together?

Convert to GeoJSON instead — it keeps heart rate, cadence, and power per point and works in modern web-mapping tools, though it still can't hold laps since GeoJSON has no lap concept either.

Why are the coordinates ordered differently in the KML output?

KML writes longitude, latitude, elevation, the reverse of TCX's own ordering. That's the KML specification, not a conversion error.