Convert GeoJSON to KML
One placemark per feature, properties in the balloon, ready for Google Earth.
Nothing is uploaded

AI Agent for QGIS
Skip the converter next time: ask AI Agent in QGIS to convert, reproject and load your files.
Guide
How it works, formats and limits.
About this tool
One placemark per feature, properties in the balloon, ready for Google Earth. Free, and the file never leaves your browser.
How the conversion works
- Choose a .geojson or .json file, drop it here, or paste the GeoJSON text. A FeatureCollection, a single Feature or a bare geometry all work.
- Each Feature becomes a Placemark. A property called name, title or label becomes the placemark name, description becomes the description, everything else becomes an ExtendedData field. Multi geometries become a MultiGeometry.
- Download the .kml and open it in Google Earth Pro, Google Earth on the web, or QGIS.
How each part is mapped
The property names are matched after lowercasing, so Name, NAME and name all become the placemark name.
| GeoJSON | KML |
|---|---|
| Point, LineString, Polygon | Point, LineString, Polygon with outerBoundaryIs and one innerBoundaryIs per hole. |
| MultiPoint, MultiLineString, MultiPolygon, GeometryCollection | A MultiGeometry holding the parts. |
| properties.name, title, label, id | The Placemark name. Features without one are named by their position in the file. |
| properties.description, desc, notes, comment | The Placemark description. |
| Every other property | An ExtendedData Data element, which Google Earth shows in the balloon and QGIS as an attribute. |
| Third coordinate | Kept as the KML altitude. |
What it does not do
- No styles. The placemarks take Google Earth's default pin and line; set colours there or in QGIS.
- A feature with a null geometry has nothing to place, so it is counted and skipped.
- Coordinates are read as WGS 84 longitude and latitude, as RFC 7946 requires. A file in Web Mercator metres, which some tools still write, will land in the ocean off West Africa.
- Nested objects and arrays in properties are written as JSON text in one field.
Frequently asked questions
Short answers to what people ask most.
Does my GeoJSON get uploaded?
No. The conversion runs in your browser tab; nothing is sent anywhere.
Why does Google Earth show my features in the wrong place?
The GeoJSON was probably in a projected system, Web Mercator most often. GeoJSON should be WGS 84 degrees. Reproject it in QGIS with Export, Save Features As, and set the CRS to EPSG:4326.
Can I open the result in Google My Maps?
Yes. Import the .kml as a layer. My Maps caps a layer at 2,000 features and 5 MB, so split a large file first.
Where do my properties go?
Into ExtendedData. Click a placemark in Google Earth and they appear in the balloon. In QGIS they are the attribute table.
Which property becomes the label?
The first of name, title, label or id found, in that order, case ignored. Rename a column to name if the wrong one is picked.