- Home
- KML to GPX Converter
100% private — files never leave your browser
KML to GPX Converter
Turn .kml files from Google Earth, My Maps or other mapping tools into universal .gpx files that navigation apps, GPS watches and planning platforms accept. LineStrings and gx:Tracks both convert, elevation included, and everything runs locally in your browser.
How to convert to GPX
- 1
Drop your file
Drag a FIT, GPX, TCX, KML, KMZ or GeoJSON file onto the box above, or click it to browse. The source format is detected automatically from the file contents.
- 2
Wait a beat
The conversion runs in a background worker on your device. Typical activities finish in well under a second; even 50 MB files process without freezing the page.
- 3
Check the preview
Distance, duration, ascent and average heart rate are shown alongside a map of the converted track, so you can confirm nothing was lost before downloading.
- 4
Download
Click the download button and the .gpx file is saved straight from memory. Nothing was uploaded, so there is nothing to clean up.
What is a KML file?
KML (Keyhole Markup Language) is the XML dialect born inside Keyhole — the software that became Google Earth — and later standardized by the OGC. It describes geographic features for display: placemarks, lines, polygons and images, each with the styling and folders that make a KML file read like a curated map rather than a raw data dump. Google Earth, Google My Maps and most desktop GIS packages open it natively.
KML is a mapping format, not a training format. Its geometry carries position and elevation well — and Google's gx:Track extension can even carry per-point timestamps for time-slider playback — but it has no concept of heart rate, cadence or power. Converting an activity to KML is the right move when the goal is showing a route to humans; when the goal is analyzing a workout, the fitness formats are the right home for the data.
What is a GPX file?
GPX (GPS Exchange Format) is the universal, open XML format for GPS data, standardized by TopoGrafix and supported by essentially every mapping application on earth — Strava, Google Earth, Komoot, RideWithGPS, Garmin BaseCamp, QGIS and hundreds of others. A GPX file stores waypoints, routes and tracks as latitude/longitude pairs, optionally with elevation and timestamps, and Garmin's TrackPointExtension carries heart rate, cadence and power alongside each point.
Because GPX is plain text XML, it is readable, diffable, scriptable and trivially editable — which makes it the lingua franca when a track needs to move between ecosystems. The cost is size: the same activity as GPX is typically 5-10× larger than FIT, and consumer-oriented apps sometimes ignore the extension channels. For archiving, editing and cross-platform sharing, though, GPX remains the safest long-term bet.
Why convert KML to GPX?
KML is where routes get drawn; GPX is where routes get used. You sketch a course in Google Earth or My Maps — terrain visible, points adjustable — and then want it on a device or in a planning app: Komoot, RideWithGPS, a Garmin Edge, an e-reader of GPX viewers. Nearly all of them import GPX; almost none import KML. This conversion is the bridge between drawing the line and riding it.
It also runs the other direction of the ecosystem: files people share from Earth-themed tools, historic route collections published as KML, and government or park-service trail data distributed as KML all become usable in GPX-standard software after one pass through this page.
What the converter understands (and honestly skips)
LineStrings — the geometry route-drawing tools produce — convert to GPX track segments with position and elevation per point. gx:Track elements (time-stamped tracks, typically from converted recordings) carry their timestamps across too, so the temporal data survives into GPX's <time> elements. Multiple placemarks and MultiGeometry lines each become their own segment, in document order.
The honest skips: KML points and polygons are map features, not track geometry, so they are not invented into the GPX track. The KML Sport concept doesn't exist (GPX's <type> stays empty), and drawn routes without timestamps correctly produce a GPX without times — which navigation apps accept fine, though a follow-up conversion to FIT would need timestamps and say so plainly.
Your files never leave this browser
This tool — like every tool on this site — runs entirely as client-side JavaScript. The file you drop is parsed in a Web Worker on your own device, converted in memory and handed straight back to you as a download. There is no upload endpoint, no server-side conversion service and no temporary storage: you can watch the network tab in your browser's developer tools and confirm that no file bytes are transmitted anywhere.
That matters more with fitness data than with most files. A GPS track is a precise log of where you were, at what time, and how hard your heart was working — home address, training habits, favorite routes and race schedule all in one file. Keeping conversion on-device means third-party converters never get a copy of that log, and the tool keeps working identically on a plane, in a basement, or anywhere else without signal.
KML vs GPX at a glance
| Aspect | KML | GPX |
|---|---|---|
| Format type | Display XML (Google Earth) | GPS exchange XML (universal) |
| Typical use | Drawing and sharing routes | Navigation apps, watches, planners |
| Geometry | LineString / gx:Track | trkpt with lat/lon/ele/time |
| Timestamps | gx:Track only | Per point when present |
| Markers / polygons | Native | No track equivalent — skipped |
| Best for | Visual route planning | Getting routes onto devices |
Frequently asked questions
Almost — GPX is the right intermediate, but Garmin devices import courses as FIT or GPX depending on model and workflow. Upload the GPX to Garmin Connect or a planner like RideWithGPS and let it push the course to the device. Direct FIT conversion needs timestamps, which drawn KML routes usually lack.