For Garmin, Wahoo & phones

KML to GPX Converter

Have a route in Google Earth or a KML file and need it on your GPS? Convert KML to GPX in your browser and load it onto any device.

All processing happens in your browser — your files never leave your device.

How to use the KML to GPX Converter

  1. Export or save your route as a .kml file (Google Earth: right-click the path → Save Place As).
  2. Drop the KML onto the box above.
  3. TrackKit reads the line, any elevation, and any point placemarks, then shows the stats.
  4. Click Download to get a GPX file ready for your watch, bike computer or phone app.

Why you need GPX, not KML

Google Earth and many web maps hand you a KML file, but almost no GPS device will load one. Garmin watches and Edge computers, Wahoo head units, and apps like Komoot, Gaia GPS and Ride with GPS all expect GPX. Converting KML to GPX is the step that turns a route you planned on a map into a route you can actually follow outdoors.

What TrackKit reads from a KML

KML stores geometry in a few different ways and TrackKit handles the common ones. A LineString becomes a GPX track. A gx:Track (Google's time-aware track) becomes a track with timestamps preserved. A Point placemark becomes a GPX waypoint, keeping its name. Coordinates in KML are written longitude,latitude,elevation; TrackKit reorders them into GPX's latitude, longitude convention so your route is not mirrored or flipped — another bug that trips up quick-and-dirty converters.

Elevation and naming

If your KML includes a third value on each coordinate, that elevation is carried into the GPX so climbing tools and elevation profiles work. Placemark names become waypoint names. The overall document name becomes the GPX track name where available, so your file is not just a nameless blob.

Loading the GPX onto your device

Once you have the GPX, connect your Garmin or Wahoo by USB and copy the file into the Garmin/NewFiles or Wahoo routes folder, or import it into your phone app of choice. The device treats it like any other route and can navigate you along it.

Private by default

Here is something most online converters gloop over: a route file is a map of your life. The start and end of a run is usually your front door. A "morning loop" repeated fifty times is your home address with a timestamp. That is exactly why TrackKit does the whole conversion inside your browser using the File API. The bytes are read into memory, transformed, and handed back as a download. Nothing is uploaded, nothing is logged, and there is no server that could be breached or subpoenaed. You can open the network tab in your browser and watch: not a single request leaves the page after it loads.

Frequently asked questions

My converter mirrored the route — why does yours not?

KML lists coordinates as longitude,latitude while GPX uses latitude,longitude. If a tool copies them in the wrong order the route comes out flipped. TrackKit reorders them correctly, so your track keeps its true shape.

Does it keep elevation from the KML?

Yes. If each KML coordinate includes a third value it is treated as elevation and written into the GPX, so elevation profiles and climb totals work on your device.

How do I get the GPX onto my Garmin?

Connect the watch or Edge by USB and copy the .gpx file into the Garmin/NewFiles folder. On your next sync the device imports it as a course you can navigate.

What about KML placemarks and pins?

Point placemarks become GPX waypoints and keep their names, so saved spots such as a summit or a water stop travel with the route.

Is my route data uploaded anywhere?

No. Everything runs in your browser. Since a route usually starts at your home, keeping it on your device is a privacy feature, not just a nicety.

TrackKit converts your files as faithfully as each format allows, but formats are not identical and some data cannot survive every conversion (see the notes above each download). Distance and elevation figures are computed from the points in your file and are estimates for general use, not survey-grade measurements. Always keep your original file as a backup.