- Home
- Free tools
- KML to GeoJSON
Convert KML to GeoJSON
One feature per placemark, ExtendedData as properties. Free, and the file never leaves your browser.
or drop KML here
How the conversion works
- 1
Choose a .kml file exported from Google Earth, Google My Maps or a GPS app, drop it here, or paste the KML text.
- 2
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.
- 3
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.
Questions people ask
- 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.
Other free tools
- GeoJSON to KML
- KML to CSV
- Shapefile to GeoJSON
- KML to Shapefile
- CSV to GeoJSON
- KML to KMZ
- KML to GPX
- CSV to KML
- GeoJSON to Shapefile
- Shapefile to KML
- CSV to Shapefile
- Shapefile to CSV
- GeoJSON to CSV
- KMZ to KML
- KMZ to Shapefile
- Shapefile to KMZ
- KMZ to CSV
- CSV to KMZ
- GPX to KML
- KMZ to GPX
- GPX to KMZ
- Merge GPX
- Coordinate converter
- All free tools
Next, open it in QGIS
Every one of these files loads in QGIS in one dialog. Once the points or polygons sit on your imagery, the two TerraLab plugins take over: AI Segmentation detects the objects the file is missing, AI Edit renders a project on the map.