Skip to main content

GPX to KML Converter

Convert your GPX files to KML format instantly. All processing happens in your browser - your data never leaves your device.

Drag and drop your GPX file here, or click to browse

Privacy First

All conversion happens entirely in your browser. Your GPS data never leaves your device.

Your file is converted. Dawarich handles all formats automatically — import from Google, Strava, Garmin, and more. No manual conversions needed.

Self-hosted or cloud. Cancel anytime.

Start Your Free Trial

When you'd convert GPX to KML

GPX is the format your GPS device, fitness watch, or recording app produces. KML is the format Google Earth, Google My Maps, and most desktop GIS tools want as input. Converting GPX to KML is what you do when you want to actually see your tracks in a mapping app — not just store them.

Typical reasons people land on this page: a Strava export they want to drop into Google Earth, a Garmin watch ride they want to share via Google My Maps, a hiking GPX from AllTrails or OsmAnd they want to annotate visually, or a track from an old GPS unit they're moving into a long-term mapping archive.

Both formats are XML and both are well-defined, so the conversion is lossless for the data fields they share. The interesting question — covered below — is which fields they don't share.

What gets preserved (and what doesn't)

Here's exactly what survives a GPX → KML conversion and what doesn't:

FieldPreserved?Notes
GPS coordinates (lat/lon)✅ YesBoth formats use WGS-84 decimal degrees. Identical precision.
Elevation✅ YesGPX <ele> maps to the third coordinate in KML <coordinates>. Metres in both.
Timestamps✅ YesGPX <time> becomes KML <TimeStamp> on each placemark. ISO-8601 UTC in both.
Track structure (track → segments → points)✅ YesGPX <trk>/<trkseg> render as KML <Placemark> with <LineString> geometry.
Waypoints✅ YesGPX <wpt> becomes KML <Placemark> with <Point> geometry and the waypoint name.
Routes✅ YesGPX <rte> is rendered as a separate KML <LineString>, distinct from tracks.
Track / waypoint names and descriptions✅ YesMapped to KML <name> and <description>.
Heart rate, cadence, power (TrackPointExtension)⚠️ NoKML has no fitness-data namespace. If you need HR/cadence/power, convert to TCX or keep the GPX.
GPX <extensions> blocks (custom data)⚠️ PartialGeneric extensions are dropped. Use GeoJSON if you need to carry arbitrary properties.
Styling (line colour, width, icons)➕ Defaults appliedGPX has no styling; this converter applies a sensible default KML <Style>. You can edit it in Google Earth Pro.

Apps that read your converted file

Once you have your .kml file, here's where you can open it:

  • Google Earth (web and Pro)Drag the .kml directly into the browser version, or File → Import in Earth Pro. Best 3D visualisation.
  • Google My MapsCreate a new map, then "Import" your KML to share an annotated map with anyone.
  • QGISOpen-source desktop GIS. Add as a vector layer for serious analysis, joining with other geographic data.
  • MarbleOpen-source virtual globe. Cross-platform, no Google account.
  • Locus Map (Android)Imports KML for offline navigation and route playback.
  • CaltopoBackcountry mapping. Imports KML for trip planning with terrain overlays.
  • DawarichYes, you can also import KML directly into your Dawarich timeline alongside everything else.

Worked example

Minimal GPX in, minimal KML out — illustrating the field mapping in practice:

Input (GPX)

<?xml version="1.0"?>
<gpx version="1.1" creator="Garmin">
  <trk>
    <name>Morning Run</name>
    <trkseg>
      <trkpt lat="52.5200" lon="13.4050">
        <ele>34</ele>
        <time>2026-04-27T07:14:00Z</time>
      </trkpt>
      <trkpt lat="52.5210" lon="13.4060">
        <ele>36</ele>
        <time>2026-04-27T07:14:30Z</time>
      </trkpt>
    </trkseg>
  </trk>
</gpx>

Output (KML)

<?xml version="1.0"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Document>
    <name>Morning Run</name>
    <Placemark>
      <name>Morning Run</name>
      <LineString>
        <coordinates>
          13.4050,52.5200,34
          13.4060,52.5210,36
        </coordinates>
      </LineString>
      <TimeSpan>
        <begin>2026-04-27T07:14:00Z</begin>
        <end>2026-04-27T07:14:30Z</end>
      </TimeSpan>
    </Placemark>
  </Document>
</kml>

GPX vs KML, briefly

GPX (GPS Exchange Format) was published by Topografix in 2002 specifically for GPS devices: it carries tracks, routes, waypoints, and basic per-point metadata. Almost every GPS device, sports watch, and outdoor app reads and writes it. It's a small, focused format — there's effectively only one way to express a track.

KML (Keyhole Markup Language) was created by Keyhole, the company Google bought to build Google Earth. It's much broader — it carries geometry, styling, time animation, 3D models, network links, and overlays. KML is a presentation format. GPX is an exchange format.

If your goal is to share or visualise a track, KML is what the receiving software wants. If your goal is to feed it back into another GPS device or analyse it in fitness software, keep it as GPX.

Frequently asked questions

Does this converter upload my GPX file to a server?
No. Conversion happens entirely in your browser using JavaScript. Your file never leaves your device, and there is no analytics on the file contents. You can verify this — Dawarich is open source and the converter code is in the same public repository.
Can I convert multiple GPX files at once?
This converter handles one file at a time. If you need to combine several GPX files into a single KML, run them through the GPX Merger first and then convert the merged file.
Will my heart rate and cadence data be preserved?
No. KML has no defined extension for fitness sensor data. If you need to keep heart rate, cadence, or power, either keep the original GPX (most fitness apps prefer it) or convert to TCX, which is designed for fitness activities.
How do I open the resulting KML in Google Earth?
On the web version, drag the .kml file onto the Earth interface. In Google Earth Pro on desktop, use File → Open and select the file. The track will appear in the "Temporary Places" tree on the left; right-click to save it permanently.
Why does my track look like a flat line in Google Earth?
By default, KML LineStrings are clamped to the ground. To see the actual elevation profile, right-click your imported track in Google Earth Pro and set the altitude mode to "Absolute" or "Relative to ground."
Is there a file size limit?
The converter runs in your browser, so the practical limit is your browser's memory. Files up to several hundred megabytes work fine on a modern laptop. For very large GPX exports (e.g. multi-year archives), use the GPS File Splitter first.