GeoJSON to KML Converter

Paste or upload a GeoJSON Feature, FeatureCollection, or bare geometry and get valid KML markup you can open in Google Earth or Google My Maps. Supports Point, LineString, Polygon, MultiPoint, MultiLineString, and MultiPolygon geometries, mapping `properties.name` and `properties.description` to KML's `<name>` and `<description>` tags. The conversion happens in your browser tab.

PrivateFreeWorks offline

Reviewed by Vincenzo Manto, Founder & Lead Developer · Last updated September 27, 2026

How it works

  1. 1

    Paste GeoJSON (a Feature, a FeatureCollection, or a bare geometry) or upload a .geojson/.json file.

  2. 2

    The tool validates the structure and generates KML markup with a Placemark per feature.

  3. 3

    `properties.name` and `properties.description` are mapped straight to the Placemark's `<name>` and `<description>`.

  4. 4

    Copy the KML or download it as a .kml file ready to open in Google Earth.

Why convert GeoJSON to KML?

GeoJSON is the format most web maps and GIS APIs use, but Google Earth, Google My Maps, and many older desktop GIS tools still expect KML. If you've exported data from a mapping tool, a spatial database query, or another converter, turning it into KML lets you open it in Google's own mapping software.

Hand-built KML generation

Instead of depending on a third-party KML-writing package, this tool builds the XML directly with a small function you can inspect yourself. It escapes ampersands, angle brackets, and quotes in feature names and descriptions so the resulting KML opens cleanly.

Keeping your data local

Parsing, validation, and KML generation all happen with plain JavaScript in your browser tab, so your geodata stays on your machine. That matters when you're working with location data tied to people, property, or survey work you'd rather not upload.

Frequently asked questions

Does this upload my GeoJSON anywhere?

No. A small JavaScript function does the conversion directly in your browser, and nothing is sent to a server.

Which geometry types are supported?

Point, LineString, Polygon (including holes via interior rings), MultiPoint, MultiLineString, and MultiPolygon are all converted to their correct KML equivalents, using <MultiGeometry> for the multi- types.

How are feature properties handled?

Only `name` and `description` string properties are mapped to KML's `<name>` and `<description>` tags, since those are the two properties KML natively understands for a Placemark. Other custom properties aren't included in the KML output.

Can I convert a whole FeatureCollection at once?

Yes. Every feature in the collection becomes its own <Placemark> inside a single KML <Document>, so you can convert an entire dataset in one go.

Why doesn't it use a KML-writing npm library?

The KML output here is generated by a small, dependency-free function that builds the XML string directly and escapes special characters properly, keeping the tool lightweight and predictable.

Related tools