Convert CSV (spreadsheet) to KML
Your file never leaves your device — conversion happens here in your browser.
Sometimes the only question is what a route looks like on the ground, and KML — the format Google Earth reads natively — answers that faster than any fitness app can. This tool takes a CSV built to FitFileHub's documented schema (timestamp, lat, lon, elevation_m, and whatever sensor columns are present, with common alias headers tolerated too) and writes just the geometry: a placemark path with coordinates in KML's required lon,lat,ele order, reversed from the CSV's own lat/lon column layout. That reordering is handled automatically, along with folding elevation into the same coordinate tuple KML expects rather than a separate field. Heart rate, cadence, power, and any lap-index values in the source CSV have no equivalent in KML — it's a pure geometry format with no schema for sensor data or workout structure — so those columns are left out of the output entirely rather than approximated. What matters for this conversion is the precision of the path itself, and position, elevation, and timestamps, where present, all carry over exactly. The result opens directly in Google Earth, My Maps, or any KML-reading mapping tool for a clean visual of the route. As with every FitFileHub tool, the conversion runs entirely client-side — no upload, no account — with a background worker handling large files without freezing the page.
Questions
Will heart rate or power data appear in the KML?
No — KML has no fields for sensor data at all. Only position, elevation, and timestamps carry over; everything else in your CSV is left out of the output.
Why does the coordinate order change from my CSV?
KML requires longitude, latitude, elevation for each coordinate, the reverse of the lat, lon columns FitFileHub's CSV schema uses. This tool reorders them automatically.
What column names should my CSV use?
FitFileHub's own schema: timestamp, lat, lon, elevation_m, plus any sensor columns you have. Common alias headers are also recognized for files exported from other tools.
Is there a file size limit?
Free use handles files up to 25 MB, 3 at a time. Larger or more frequent conversions are unlocked by supporting the project.