GeoJSON to KML Converter
LocalConvert GeoJSON to KML for Google Earth — free online, no upload. Points, lines, polygons, Multi geometries and all attributes, handled locally in your browser.
Sample data loaded — click "Convert to KML" to try it.
Supports Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon and GeometryCollection (expanded to MultiGeometry); polygon holes are preserved — the first ring is the outer boundary. All properties are written as KML ExtendedData (name becomes the Placemark name). Coordinates are validated first: null/NaN/non-numeric values and out-of-range positions (longitude outside [-180,180] or latitude outside [-90,90]) are rejected with an actionable error instead of producing broken KML.
What is it? GeoJSON to KML converts GeoJSON geometry to KML for Google Earth and map software, validating coordinates first: malformed values (null/NaN/non-numeric/empty) and out-of-range positions (longitude outside [-180,180] or latitude outside [-90,90]) are rejected with an actionable bilingual error instead of producing broken KML. Everything runs locally in your browser — nothing is uploaded, and no account is needed.
TL;DR: Convert GeoJSON to KML in your browser — open it in Google Earth, no upload.
How to use
- Paste your GeoJSON into the input box (a sample is preloaded), or drop/select a .geojson/.json file — the input geometry renders on the map preview as you load it.
- Click "Convert to KML".
- Copy the KML or download the .kml file and open it in Google Earth.
FAQ
Which geometries are supported?
Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon and GeometryCollection (expanded to MultiGeometry); polygon holes (inner rings) are preserved — the first ring is the outer boundary.
Are attributes kept?
Yes — all properties are written as KML ExtendedData (name becomes the Placemark name and is not duplicated); kml-to-geojson reads them back.
What coordinate validation runs before conversion?
null/NaN/non-numeric/empty coordinates and out-of-range positions (KML requires longitude in [-180,180] and latitude in [-90,90]) fail loudly with an actionable error — antimeridian data can be normalized by ±360 (e.g. 190 → -170), and swapped lon/lat order is called out.
Is it local?
Yes.
Can it export KMZ?
No — the output is a plain .kml file. If you need KMZ, zip the .kml (with any icons it references) and rename the archive to .kmz; Google Earth accepts that.
My file is .json, not .geojson — does it work?
Yes — GeoJSON is JSON, so any .json file containing a valid GeoJSON FeatureCollection or geometry converts. JSON that is not GeoJSON fails loudly instead of producing an empty KML.
How do I open the KML in Google Earth?
Download or copy the .kml and open it via File → Open in Google Earth Pro, or drag the file onto the globe. Google Earth for web imports .kml from the Projects panel.
Examples
- Paste GeoJSON → get KML
Supported formats
Limitations
- Supports Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon and GeometryCollection (expanded to MultiGeometry); polygon holes (inner rings) are preserved.
- All properties are written as KML ExtendedData (name becomes the Placemark display name).
- No styling beyond basic geometry.
- Coordinates are validated first: malformed values (null/NaN/non-numeric/empty) and positions outside the KML-legal range (longitude [-180,180], latitude [-90,90]) are rejected loudly with an actionable message instead of being written as-is.
Privacy
Privacy first: this tool runs entirely in your browser — your input and files never leave your device, and everything is cleared when you close the page.