AnyFormat

00 KML → GeoJSON

KML to GeoJSON

ExtendedData becomes properties. Layer order preserved.

01KML in
02GEOJSON out
03Options 1

0 keeps full precision. Six places is about 10 cm — beyond that is noise from consumer GPS.

  • No upload The conversion runs in this tab. Your file never travels — not to us, and not to the advertising.
  • No sign-up, no email, no daily cap There is no account system to sign up to.
  • No size limit we invented Only your device's memory — about ~2 GB on a desktop browser, ~400 MB on a phone.
  • Turn your Wi-Fi off and convert anyway The conversion needs nothing but this page. Ads will not load without a connection; your file will still convert. That is the whole claim, and it takes five seconds to check.

Converts KML into GeoJSON. The common case is a map built in Google My Maps that now needs to live in a real web map — Leaflet, Mapbox, or a GIS. Drop a .kmz directly; it does not need unzipping first.

ExtendedData is where your data actually is

Google My Maps stores everything you typed into a placemark — the columns of an imported spreadsheet, custom fields, notes — in an <ExtendedData> block rather than in the description. Converters that only read name and description throw all of it away, which is why a converted My Maps export so often arrives with nothing but pin names.

Both forms are read here: <Data name="x"><value> and the schema-based <SimpleData>. Each becomes a property on the feature.

Folders become a property, and order is kept

KML organises placemarks into Folders, which My Maps calls layers. GeoJSON has no folders, so the path is recorded as a folder property — you can filter or style by it, which is usually what the layers were for.

The document is read in its own order, so layers and the features inside them come out in the sequence the author arranged. That is not automatic: the usual XML parsing shortcut groups elements by tag name and silently reorders the whole file.

Geometry that needs handling

MultiGeometry — a placemark holding several shapes — is split into one feature per geometry, each keeping the placemark's properties.

Polygon holes are preserved as inner rings, which GeoJSON supports directly.

gx:Track, Google's timestamped track extension, is read as a LineString.

Ground overlays are images pinned to the map, not geometry, and are skipped with a count. A file containing only overlays is refused with an explanation rather than producing an empty result.

Styling does not come across

Icon images, colours, line widths and fills are KML concepts. GeoJSON deliberately has no styling — the specification leaves appearance to the renderer. Style the result in Leaflet or Mapbox instead, which is where that belongs anyway.

Other names for this

Also searched as “google my maps to geojson”, “kmz to geojson”.

Questions

My My Maps data came through as just names.
Then the converter you used ignored ExtendedData, which is where My Maps keeps everything. This one reads it.
Can I drop a .kmz directly?
Yes. The archive is opened and the KML inside is converted, with the extra assets reported.
Where did the colours go?
GeoJSON has no styling by design. Apply it in your map library.
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.