GeoConvert

Convert KML to GeoJSON

Free, unlimited, and fully private — your KML file is converted to GeoJSON in your browser and never uploaded to a server.

Drop your file here, or browse

Shapefile (.shp + siblings or .zip), GeoJSON, KML, KMZ, GPX

Your files never leave your device — conversion runs entirely in your browser.

Converting KML to GeoJSON transforms a Google Earth document into web-native JSON features for mapping libraries and APIs.

What is KML?

KML (Keyhole Markup Language) is an XML-based format for expressing geographic annotation and visualization, adopted as an OGC standard and popularized by Google Earth.

KML describes Placemarks, geometries (points, lines, polygons), and their presentation using an XML tree that also supports folders for organization, rich styling (icons, colors, line widths, fills), balloon descriptions, and ground overlays. It is designed for display and sharing rather than analysis, and is opened natively by Google Earth, Google Maps, and most GIS packages. Because it targets a single global view, it has no concept of reprojection.

What is GeoJSON?

GeoJSON is an open, JSON-based format for encoding vector geographic features and their attributes, standardized as RFC 7946 by the IETF.

A GeoJSON document is plain UTF-8 JSON built from Feature and FeatureCollection objects, each pairing a geometry (Point, LineString, Polygon, and their Multi* variants, or a GeometryCollection) with a free-form "properties" object. Because it is human-readable text, it works well with version control, text diffing, and any JSON tooling, and it is the de facto interchange format for web maps and JavaScript libraries such as Leaflet, Mapbox GL, and OpenLayers. Unlike Shapefile it imposes no field-name length limit, mixes geometry types freely within one collection, and stores everything in a single file.

Why convert KML to GeoJSON?

GeoJSON is the format web maps, Leaflet, Mapbox GL, and OpenLayers consume directly, so this conversion is how KML data gets published online. It flattens KML’s presentation-oriented XML into clean feature geometry and properties that are easy to process programmatically. The single text file is also friendlier to storage and version control.

Coordinate systems

KML coordinates are always geographic WGS84 longitude, latitude, and (optionally) altitude in that order; the format has no CRS or projection field, so any data written to KML is expressed in EPSG:4326 by definition.

Per RFC 7946, coordinates are longitude/latitude in decimal degrees on the WGS84 datum (EPSG:4326), and the specification removed the older "crs" member, so a compliant GeoJSON file is always assumed to be WGS84. Coordinate order is [longitude, latitude], optionally followed by elevation.

What to watch out for

  • Both formats use WGS84, so coordinates pass through unchanged with no reprojection needed.
  • KML styling (icons, colors, balloons) is presentation data that GeoJSON does not carry, so styles are dropped.
  • KML folder hierarchy and nested documents are flattened into a single FeatureCollection.
  • Placemark description HTML and extended data may need mapping into flat GeoJSON properties, and some rich content may be lost.

How to convert KML to GeoJSON

  1. Drag your KML file (.kml) into the converter above, or click to browse.
  2. Confirm the source is KML and choose GeoJSON as the output format.
  3. Optionally pick a target coordinate system (EPSG) to reproject.
  4. Click Convert and download your GeoJSON file. Everything runs in your browser.

Frequently asked questions

Is my styling preserved?
No. GeoJSON stores geometry and attributes but not cartographic styling, so KML colors, icons, and balloons are not carried over.
Do coordinates change?
No. KML and GeoJSON both use WGS84 longitude/latitude, so coordinate values are identical.
What happens to KML folders?
The folder structure is flattened; all placemarks land in a single GeoJSON FeatureCollection.

Related conversions