Convert KML to GeoJSON

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

GeoJSON and KML both describe geometry, but only one of them is native to modern web-mapping libraries — Leaflet, Mapbox GL, and most GIS tooling read GeoJSON directly, while KML needs a plugin or a conversion step first. This tool reads the coordinate sequence from a KML placemark and writes a standard GeoJSON LineString, one of the few conversions on FitFileHub where the coordinate order needs no correction at all: both formats store position as longitude, latitude, elevation, so values pass straight across. Where timestamps exist on the source coordinates, they carry over too, as per-point properties alongside the geometry. That makes this the direct route for anyone taking a path drawn in Google Earth or My Maps and dropping it onto a web map, a GIS layer, or any tool built around the GeoJSON spec. Since KML is a geometry-only format with no fields for heart rate, cadence, power, or laps, the resulting GeoJSON carries none of those either — there's nothing to lose, because a hand-drawn route in Google Earth was never a recorded activity to begin with. What does carry over is precise: the coordinate sequence and any timestamps survive intact, at full millisecond precision on the GeoJSON side of the conversion. The whole process runs entirely in your browser — no upload, no account, no server ever sees the file — with a background worker keeping the page responsive on longer, more detailed routes.

Questions

Is GeoJSON a better fit than KML for building a web map?

For most JavaScript mapping libraries, yes — GeoJSON is the format they read natively, while KML typically requires a separate plugin or parser.

Will heart rate or elevation data show up in the GeoJSON?

Elevation carries over as part of each coordinate. There's no heart rate, cadence, or power data, because KML — the source format here — never records those in the first place.

Does the coordinate order need fixing between formats?

No — this is one case where it doesn't. KML and GeoJSON both order coordinates as longitude, latitude, elevation, so the values pass through unchanged instead of needing the reordering other conversions require.

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.