Why convert KML to GPX?
GPS receivers (Garmin, Wahoo), fitness platforms (Strava, Komoot, AllTrails), and outdoor apps do not read KML. .gpx is the open standard those devices and platforms expect for routes, tracks, and waypoints. Because both formats use WGS 84 longitude/latitude, point coordinates and line geometry translate accurately.
How to convert KML to GPX
GPSBabel FREE
Open GPSBabel, set input format to Google Earth KML and browse to your .kml, set output format to GPX XML, choose a destination filename, and click Apply.
GPSBabel for Mac FREE
Same workflow as Windows: set input to Google Earth KML, output to GPX XML, and click Apply to create the .gpx file.
GPSBabel for Linux FREE
Same workflow as Windows: set input to Google Earth KML, output to GPX XML, and click Apply to create the .gpx file.
Programs that convert KML
About these formats
A KML file stores map data - pins, routes, polygons, image overlays - in plain XML format. The easiest way to open one is Google Earth (free desktop app or earth.google.com in a browser) or…
Open .KML details →A GPX file stores GPS data - waypoints, tracks and routes - in plain XML. To view a route, drag it into Google Earth Pro or upload it to GPS Visualizer. To load it onto a Garmin, Wahoo or…
Open .GPX details →Quality & what to watch
- KML-specific styling (icon colors, line widths, ground overlays, 3D models, camera viewpoints) has no equivalent in GPX and is dropped on conversion.
- GPSBabel maps KML LineStrings to tracks by default; if you need a GPX route instead, change this in the GPSBabel GUI options.
- If your file has a
.kmzextension, it is ZIP-compressed KML; GPSBabel and GPS Visualizer both handle.kmzdirectly without extra steps.
Frequently asked questions
Will altitude data survive the conversion?
GPX if it is present in the KML, but many KML files exported from Google My Maps do not include altitude, so the GPX elevation track may be empty.My KML has a .kmz extension - will it still work?
KMZ is ZIP-compressed KML; GPSBabel and GPS Visualizer both accept .kmz files directly.GPSBabel mapped my route as a track instead of a route - how do I fix it?
-r flag on the command line.