Convert KML to GeoJSON
One feature per placemark, ExtendedData as properties.
Nothing is uploaded

AI Agent for QGIS
Skip the converter next time: ask AI Agent in QGIS to convert, reproject and load your files.
Guide
How it works, formats and limits.
About this tool
One feature per placemark, ExtendedData as properties. Free, and the file never leaves your browser.
How the conversion works
- Choose a .kml file exported from Google Earth, Google My Maps or a GPS app, drop it here, or paste the KML text.
- Every Placemark becomes a Feature. Point, LineString and Polygon map one to one; a MultiGeometry of one kind becomes MultiPolygon or MultiLineString, a mixed one a GeometryCollection. Name, description, folder path, timestamp and every ExtendedData field go into properties.
- Download the .geojson. It drops straight into geojson.io, Leaflet, Mapbox GL, QGIS or a PostGIS import.
What the GeoJSON contains
A FeatureCollection as RFC 7946 defines it: WGS 84, longitude first, no crs member, coordinates rounded to 8 decimals.
| In the file | Where it comes from |
|---|---|
| geometry | The Placemark geometry with longitude, latitude and, when the KML has one, altitude as the third coordinate. |
| properties.name | The Placemark name. |
| properties.description | The Placemark description, HTML included, as one string. |
| properties.folder | The Folder names above the Placemark, joined with a slash, so the Google Earth tree survives the conversion. |
| properties.timestamp | TimeStamp, or the start of a TimeSpan. |
| properties.<field> | One property per ExtendedData field, Data and SchemaData spellings alike, as strings. |
What it does not do
- KMZ is a zip. Unzip it first and drop the doc.kml inside.
- Styles, icons and colours are not carried over. GeoJSON has no standard place for them; simplestyle properties are a convention this page does not invent.
- NetworkLink elements are not followed.
- ExtendedData values stay strings. A field holding 12 becomes "12", because KML does not say it is a number.
Frequently asked questions
Short answers to what people ask most.
Does my KML get uploaded?
No. The conversion runs in your browser tab. Open the network panel while you convert: no request carries the file.
Will the result load in Leaflet or Mapbox?
Yes. The output is a FeatureCollection with WGS 84 coordinates in longitude, latitude order, which is what L.geoJSON and a Mapbox GL geojson source expect.
Why does my polygon show as MultiPolygon?
Because the KML had a MultiGeometry with several Polygons inside. GeoJSON has an exact type for that. A MultiGeometry mixing points and lines becomes a GeometryCollection.
Are the altitudes kept?
Yes. A KML coordinate with a third value comes out as a three-element position. GeoJSON allows it; most web maps ignore it.
What about a Google My Maps export?
Google My Maps exports KMZ or KML. Choose KML, or unzip the KMZ. Each layer of the map is a Folder, so the layer name is in the folder property.