Converts a GPS track into KML so Google Earth and Google My Maps can open it. A GPX file is a record of where you have physically been, which is about as personal as data gets — this conversion happens in your browser and the file is not transmitted.
The axis swap, and why it matters
GPX writes position as two XML attributes: <trkpt lat="59.9139" lon="10.7522"> — latitude first.
KML writes it as text inside a <coordinates> element: 10.7522,59.9139,23 — longitude first, then latitude, then altitude.
Reverse them and a point in Oslo lands in the Indian Ocean off Somalia. The conversion handles it, and every coordinate is range-checked afterwards: anything with a latitude past ±90 or a longitude past ±180 is impossible and is reported rather than written out quietly.
How the three GPX structures map
Waypoints (<wpt>) become Placemarks with a Point — individual pins.
Routes (<rte>) become Placemarks with a LineString — a planned path.
Tracks (<trk>) become LineStrings too. A track with several segments — where the GPS lost signal and resumed — becomes a MultiGeometry, keeping the gaps rather than drawing a straight line across them.
Elevation is preserved on every point. Names and descriptions come across as the Placemark name and description.
What GPX has that KML does not want
<time> for every track point; KML can only carry that inside a gx:Track, an extension most viewers ignore. In a plain LineString the shape survives and the timing does not — so you keep the route and lose the pace.
GPX extensions — heart rate, cadence, power, temperature from a fitness watch — have no KML equivalent at all. They are dropped, and counted so you know they were there.
Opening the result
Other names for this
Also searched as “gpx to google earth”, “convert gpx for my maps”, “garmin to kml”.
Questions
- My track appears in the wrong part of the world.
- That is the latitude/longitude swap, and it is handled here. If it still happens, the source file itself has them reversed — the tool reports coordinates that are out of range.
- Where did my timestamps go?
- KML has no place for per-point times outside a gx:Track, which most viewers ignore. Convert to GeoJSON instead if the timing matters.
- Google My Maps refuses my file.
- It limits a layer to 2,000 features and a file to 5 MB. A long recorded track exceeds that. Simplify the track or split it across layers.
- What about heart rate from my watch?
- Those are GPX extensions with no KML equivalent, so they are dropped. The count is reported.
- Is my file uploaded?
- No. Everything runs in this tab. That matters more here than almost anywhere else on the site — a calendar is your movements, an address book is other people’s personal data, and a GPS track is where you live and where you run. None of it is sent anywhere.
- Can I convert several files at once?
- Yes — drop as many as you like, or a whole folder. Each keeps its original name and you can download them individually or as a ZIP.