GeoJSON to KML Converter

Convert GeoJSON from QGIS, geojson.io or Mapbox to KML for Google Earth and Google My Maps, keeping feature attributes. Free, instant, and nothing is uploaded.

Drop your GeoJSON file here

or

Your file never leaves your browser

How to convert GeoJSON to KML

  1. Drop your GeoJSON file into the box above, or click to choose it from your device.
  2. The conversion runs instantly inside your browser. Nothing is uploaded.
  3. Click “Download KML” to save the converted file.

About the formats

GeoJSON .geojson
GeoJSON (RFC 7946) is the JSON format for geographic features used by web maps and GIS software such as Leaflet, Mapbox, QGIS and PostGIS. Coordinates are stored as longitude, latitude, elevation.
KML .kml
KML (Keyhole Markup Language) is the XML format of Google Earth and Google My Maps. It describes placemarks, paths and polygons, and can carry timestamped tracks through the gx:Track extension.

Frequently asked questions

How are GeoJSON geometries mapped to KML?

Points, LineStrings and Polygons, including holes, keep their type. MultiPoint, MultiLineString, MultiPolygon and GeometryCollection become a KML MultiGeometry. A line that carries per-point times in properties.coordinateProperties.times is written as gx:Track so Google Earth can animate it.

Are feature properties kept?

Yes. name (or title) and description become the placemark’s name and description, and every other text, number or true/false property is written to ExtendedData, which Google Earth shows in the placemark balloon. Nested objects, arrays and empty values are skipped, and simplestyle colors such as stroke or marker-color are kept as data but do not change how the placemark is drawn.

Why does it say my file does not use WGS 84?

KML only supports WGS 84 longitude and latitude in degrees. GeoJSON exported from QGIS or ogr2ogr in a projected system such as EPSG:3857 contains metres and would land in the wrong place, so it is rejected. Export the layer again with the CRS set to EPSG:4326.

Are my files uploaded to a server?

No. The conversion runs entirely in your browser, and the page is not allowed to send your file anywhere. You can verify this in the Network tab of your browser’s developer tools: no request carries your file.

Is there a file size limit?

Files up to 200 MB are accepted. Because everything happens on your device, very large files are limited by your browser’s memory rather than by an upload quota.