KML GPX
File conversion

Convert KML to GPX

QUICK ANSWER
Is it possible to convert KML to GPX?
Yes - KML converts to GPX.

Use GPS Visualizer (free, no install) or GPSBabel on the desktop (free, all platforms). Select the KML, choose GPX as output, and get the result in under a minute. KML-specific styling, ground overlays, and 3D camera data are dropped.

4 programs
Also to GPX: TCX · LOC · KMZ

On this page

Tested on macOS, Windows & Linux
Last verified Oct 2026

More free converters

HEIC, PNG, WEBP, MP3 and more - every tool here is free.

Open the toolbox

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

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 .kmz extension, it is ZIP-compressed KML; GPSBabel and GPS Visualizer both handle .kmz directly without extra steps.

Frequently asked questions

Will altitude data survive the conversion?
GPSBabel preserves altitude in 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?
Yes - 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?
In the GPSBabel GUI, change the output option from track to route, or use the -r flag on the command line.