Convert a file
Home › KML & KMZ converter › GeoJSON to KMZ
GEOJSONKMZ

GeoJSON to KMZ converter

Google Earth will not read GeoJSON directly, but it will open a KMZ with a double-click. This GeoJSON to KMZ converter rewrites each feature as a placemark, then packs the KML into one small archive you can email.

Nothing uploadedGDAL engineReviewed

Drop a file, or click to browse

KML, KMZ, SHP (.zip), GeoJSON, GPKG, GML, GPX, DXF, CSV, Excel, and more

Nothing uploadedGDAL engineWorks offlineNo account

No GeoJSON file to hand? Download a sample GeoJSON file (100 points) and drop it above to see the conversion.

How to convert GeoJSON to KMZ

  1. Drop your .geojson file on the converter at the top of the page.
  2. Check the features on the map preview; property fields ride along automatically.
  3. Choose KMZ and convert; because KML is verbose text, the zipped result is often a fraction of the source size.

What changes when you convert GeoJSON to KMZ

WhatGeoJSON → KMZ
GeometryKeptPoints, lines and polygons are preserved exactly, including multi-part shapes.
AttributesKeptEvery column and full field name moves from GeoJSON into KMZ untouched.
Styling & labelsChangesKMZ supports styling; features are written with clean default styling and a name label you can restyle in Google Earth.
Coordinate systemKeptBoth formats are fixed to WGS84 longitude/latitude (EPSG:4326), so the coordinates are copied across without any reprojection.
Elevation (Z)Kept3D Z values carry from GeoJSON into KMZ wherever the source records them.
File structureKeptOne compact .kmz (a zipped KML), easy to email and quick to open in Google Earth.

Why convert GeoJSON to KMZ?

GeoJSON is the working format of web maps, living inside Leaflet, Mapbox and OpenLayers and moving cleanly through APIs, but a raw .geojson file means little to most recipients. KMZ solves the handoff: the features are rewritten as a KML document and zipped into a single archive that Google Earth opens straight from an email. Live web data becomes a finished map a colleague can double-click.

Coordinate system handling

One datum is legal on the way in: WGS84 with longitude ahead of latitude is the entire input contract of the format. What varies between sources is precision alone, and however many digits a web export provides, they pass through to the archive unrounded.

Inside the output, the geography belongs to the KML document, which the Google Earth specification holds to WGS84 regardless of what produced the features. A recipient double-clicking the archive gets placemarks in the right place with no projection step on their end.

What to check when converting GeoJSON to KMZ

The download is one .kmz rather than loose files, so open it directly in Google Earth, QGIS or ArcGIS and do not unzip it first. When you need readable text to edit, convert to KML instead; the archive itself is not meant to be picked apart by hand.

Troubleshooting GeoJSON to KMZ

  • A file exported from Python will not parse. json.dump writes NaN and Infinity tokens whenever a property holds those values, and strict JSON readers stop right there even though Python accepted them. Replace the tokens with null before exporting, or set allow_nan to False so the export fails loudly instead.
  • Google Earth stutters even though the archive is small. Zip compression hides vertex count, and a coastline with hundreds of thousands of points still has to be parsed and drawn after unpacking. Simplify the geometry and trim coordinate precision before converting; the result shrinks further and opens smoothly.
  • Clicking any part of a grouped feature selects the whole thing. A GeometryCollection becomes a single placemark holding MultiGeometry, so its pieces share one label and one balloon in Google Earth. Split the collection into separate features upstream whenever each part needs its own name or description.
  • Features with altitude values still sit flat on the ground. Google Earth clamps placemarks to the surface unless an altitude mode says otherwise, and plain GeoJSON has no way to request one. Set the heights up in the KML version of this conversion, where altitudeMode absolute can be added in a text editor, and share that file or zip it afterward.
  • Web addresses in the balloon show as dead text. Property values land in ExtendedData, which Google Earth prints verbatim without turning URLs into links. A clickable balloon needs the address written into an HTML description upstream, where an anchor tag survives into the KML and Earth renders it as a link.

About the formats

GeoJSON is the format a Leaflet layer or a web API usually hands you, plain text full of features and their properties. KMZ is what Google Earth opens by default, a zipped KML you can email as a single file. Converting rewrites each GeoJSON feature as a placemark and then packs the resulting KML into that one archive. Both sit in WGS84 longitude and latitude, so the coordinates carry across without reprojection.

Frequently asked questions

Will a GeoJSON in a projected coordinate system still work?

Standard GeoJSON is WGS84 longitude and latitude, which is what the KML inside a KMZ expects. A file written in another projection needs reprojecting to EPSG:4326 first, or the placemarks will land far from where they belong.

Why do my features look plain in Google Earth?

Colors and icons from a Leaflet or Mapbox map are set in code, not in the GeoJSON, so they do not travel. Restyle the points, paths and polygons in Google Earth once the file is open.

The recipient's mail app turned the file into a .zip. What now?

Rename it back to .kmz and it opens normally, or share it through a file link so the mail filter never touches it. The content is unchanged by the renaming.

Does the KMZ keep the feature properties from my GeoJSON?

Yes. Properties carry into the KML inside the archive as placemark data, and Google Earth shows them in the balloon when you click a feature. Deeply nested values are flattened to plain text.

Should this be a KMZ or is plain KML the better output?

The same document sits inside either, so the question is what happens next. A file that travels by email or chat argues for the compact single archive, while a result that a script or text editor still needs to touch, to add altitude modes or styles for instance, is easier handled as readable KML and zipped later.

How much smaller will the archive be than my GeoJSON?

Coordinate text compresses unusually well, because long runs of digits repeat, so multi-megabyte feature collections routinely shrink to a small fraction of their size. Trimming coordinates to six decimal places before converting, which still resolves to about a tenth of a meter, pushes the ratio further without visibly moving anything.

Related converters

Ready to convert?

Drop a file and download the result in seconds. Nothing is uploaded, nothing is stored.