mapverter

KML to GeoJSON Converter

Convert KML to GeoJSON in your browser. Placemark styles become stroke and fill properties, folder paths are kept and mixed MultiGeometry stays intact.

  1. Add file
  2. Review
  3. Download

Drag your map file here

SHP (zip, or .shp with .shx, .dbf, .prj), KML, KMZ, GeoJSON, GPX, CSV

Free · one dataset at a time · up to 20 MB

Converting several datasets at once?

Placemarks become features

Every placemark becomes a GeoJSON Feature. Its name, description and ExtendedData values become properties, and the folder it sat in is recorded in a folder property, with nested folders joined by a slash. Descriptions written as HTML are kept as text.

Styles become properties

KML styles, including shared styles referenced with a styleUrl, are written as properties such as stroke, stroke-width, stroke-opacity, fill and fill-opacity, plus icon for an icon address. If you later convert the GeoJSON back to KML, mapverter turns the color and width properties into KML styles again.

Geometry stays as it was

  • A MultiGeometry with a single geometry type becomes a MultiPoint, MultiLineString or MultiPolygon. One that mixes types becomes a GeometryCollection, which GeoJSON can store as is.
  • Placemarks without coordinates are kept with a null geometry.
  • Altitude stays as the third coordinate, and because KML is already WGS 84, coordinates are written unchanged.

Frequently asked questions

Will my KML colors survive in GeoJSON?
Yes, as properties. Line colors, widths and fill colors are stored as stroke, stroke-width and fill properties on each feature, and converting the GeoJSON back to KML turns them into KML styles again.
What happens to a MultiGeometry that mixes points and polygons?
It becomes a single GeometryCollection feature with all the parts, so nothing is split or lost.
Are placemarks without coordinates dropped?
No. GeoJSON allows features without geometry, so they are kept with a null geometry and all their properties.
Is my KML uploaded?
No. The file is read and converted in your browser and never sent to a server.