GeoJSON to KML Converter: Web Data into Google Earth
Heading to the field? Install this site from your browser menu and this tool works with no signal. See how
Converter
Nothing is uploaded. The file is converted on your own device, so it works with no signal.
Nothing leaves your device.
Waiting for a file.
Features in this file
| Name | Type | Folder | Vertices | Length | Area |
|---|

How to use this tool
Drop a .geojson or .json file above. A FeatureCollection, a single Feature, a bare geometry or a plain array all work. Press Convert to KML and the result opens in Google Earth by double clicking.
If you would rather send one compressed file, convert to KML here and then use the KMZ tools, or start from a spreadsheet with the CSV to KML Converter.
Why anybody does this
GeoJSON is a developer format. It is what an API returns and what a web map consumes, and it is close to unreadable as a file. KML is what you send to somebody who wants to look at the data rather than program against it.
The practical difference is the balloon. GeoJSON hides its attributes inside a properties object that only software reads. Google Earth turns those same attributes into something a person clicks on. A field engineer, a client or a planning officer can interrogate the map without knowing what JSON is.
What happens to your properties
A property called name becomes the placemark name, which is the label written on the map and shown in the sidebar. Every other property becomes ExtendedData, which is what appears in the balloon.
Nested properties are the exception. GeoJSON lets a property hold an object or an array, and KML ExtendedData holds a single value, so anything nested is written as text. It stays readable in the balloon and it stops being structured.
One thing you have to add yourself: styling. GeoJSON carries none, so the KML that comes out of it has none either, and every feature will be the same default colour and icon. If your data is classified by a property, set the styling in Google Earth after importing. Without that, the map shows position and nothing else at a glance.
A worked check you can repeat on paper
Convert the sample and open the result in a text editor. The arithmetic is quick and it confirms nothing was dropped.
- Count the properties on one feature in the source GeoJSON.
- Find the matching Placemark in the KML. One property became the name element.
- Count the Data elements inside its ExtendedData block. That count should be the number of properties minus one.
If it is short by more than one, something was dropped, and the usual reason is an empty value. Properties with null or empty values are skipped rather than written as blank fields, which keeps the balloon readable but does mean the counts differ on rows with gaps.
Mistakes that catch people out
Expecting your web map colours to come with it. They live in your mapping code, not in the GeoJSON.
Assuming Google Earth will render HTML in a property. Some of it, sometimes, depending on the version. Do not rely on it.
Sending a huge KML rather than a KMZ. A KML of any size compresses dramatically, so zip it or convert to KMZ before emailing.
Losing numeric precision by rounding in the source. The conversion writes what it is given.
Forgetting that a bare geometry has no properties at all, so the resulting placemark has no name and no balloon. That is the input, not the conversion.
Related Calculators and Reference
Turning developer data into something a person can click is usually the last step.
- KML to GeoJSON Converter for the return journey, into GeoJSON.
- KML and KMZ Viewer for opening the KML you just made and checking the balloons.
- GeoJSON Viewer for checking the GeoJSON before converting.
- CSV to KML Converter for building the same output from a spreadsheet instead.
- KML to Shapefile Converter for taking the data on into GIS.
- The Open Geospatial Consortium KML standard is the authority on ExtendedData, which is where your properties end up.
