KMZ to Shapefile converter
Convert a KMZ from Google Earth or Google My Maps straight into an ESRI shapefile (SHP) for ArcGIS or QGIS, without unzipping it first. Free, and no account needed.
Convert KMZ to Shapefile online, in your browser
KMZ in, SHP out, in one step. The Spatibase KMZ to Shapefile converter opens the KMZ archive in your web browser, reads the KML inside it and writes an ESRI shapefile. In short:
- No unzip tool needed. Drop the .kmz as it is; the converter finds the
doc.kmlinside. - You download one .zip with a layer per kind of shape (points, lines, areas), each in WGS 84 (EPSG:4326) with UTF-8 text in a
.cpg. - Attributes: placemark names, descriptions as plain text, folder paths and ExtendedData values become columns, names cut to 10 characters. Icons, colours and photos packed in the KMZ stay behind.
- Stays on your computer. KMZ files up to 50 MB, no upload, no account.
How to convert KMZ to a shapefile
- Get the KMZ. Google My Maps saves one when you choose Export to KML/KMZ in the three-dot menu and leave the KML box unticked; Google Earth Pro does with Save Place As, type Kmz.
- Drop the .kmz on the box above, or press Choose a file. No KMZ at hand? Open the sample: a Barcelona map with five places, a walk and three areas.
- Look at the map, then read the notes below it: they name the layers you will get and every column that was renamed.
- Press Download shapefile (.zip). Inside are sets of
.shp,.shx,.dbf,.prjand.cpgfiles, such asbarcelona_pointsandbarcelona_areas. - Unzip the download. In ArcGIS Pro, choose Add Data and pick each
.shp; in QGIS, drag the.shpfiles onto the map canvas.
What a KMZ keeps and loses as a shapefile
| What | What happens |
|---|---|
| The KML inside the KMZ | Read for you: doc.kml at the top of the archive, or the first .kml when there is no doc.kml. |
| Pins, paths and polygons | Written as separate layers ending in _points, _lines and _areas, because each .shp holds a single shape type. |
| Placemark names | A name column. |
| Descriptions | A descriptio column with the text only; HTML tags, links and tables are flattened. |
| ExtendedData | One text column per field. Switch a column to a number type afterwards in your GIS if you need sums or ranges. |
| Folder structure | A folder column holding the path, for example Site plan / Phase 1. |
| Photos and custom icons packed in the KMZ | Left behind: a shapefile stores shapes and a table, not images or symbols. |
| Column names longer than 10 characters | Shortened and kept unique, with accents removed (date_of_visit → date_of_vi). The notes list each one. |
| Text over 254 bytes | Cut to fit the .dbf limit; the notes count the values that were cut. |
| Altitude, timestamps, overlays and network links | Not written. The layers are 2D longitude and latitude, and overlays and network links are counted in the notes. |
KMZ and shapefile: two archives that hold different things
A KMZ is a zipped KML. Google Earth compresses one KML file, usually doc.kml, together with the pictures it shows. Rename a .kmz to .zip and any unzip app opens it.
A zipped shapefile is a bundle too, but of a different kind. Each layer is a group of files that share one name and only work together:
- .shp and .shx: the geometry and its index.
- .dbf: the attribute table, one row per shape.
- .prj and .cpg: the coordinate system and the text encoding.
Why the pictures drop out. The attribute table holds text, numbers and dates, nothing else. Keep the KMZ if the photos matter, or download GeoJSON here as well for longer names and longer text.
Already unzipped your KMZ? Drop the doc.kml instead; the result is the same. The KML to Shapefile converter covers plain .kml files in more detail.
Convert KMZ to SHP with ogr2ogr, without unzipping
GDAL reads straight into a zip archive through its /vsizip/ path prefix, so the KML inside a KMZ can go to ogr2ogr as it is. Write one shape type per run, each into its own folder:
# /vsizip/ opens the archive in place; doc.kml is the KML inside
ogr2ogr -f "ESRI Shapefile" points/ /vsizip/site.kmz/doc.kml -where "OGR_GEOMETRY='POINT'" -lco ENCODING=UTF-8
ogr2ogr -f "ESRI Shapefile" lines/ /vsizip/site.kmz/doc.kml -where "OGR_GEOMETRY='LINESTRING'" -lco ENCODING=UTF-8
ogr2ogr -f "ESRI Shapefile" areas/ /vsizip/site.kmz/doc.kml -where "OGR_GEOMETRY='POLYGON'" -lco ENCODING=UTF-8Two things to check before running it:
- The inner file name. List the archive with
unzip -l site.kmz; some tools call the KML something other than doc.kml. - Layer names follow KML folders. GDAL turns each KML folder into its own layer, so a KMZ with several folders gives several shapefiles in each output folder.
Questions about converting KMZ to Shapefile
Do I have to unzip a KMZ before converting it to a shapefile?
Not here: drop the .kmz and the converter reads the KML inside it. Desktop tools differ: ArcGIS Pro’s KML To Layer accepts a KMZ directly, while some older QGIS and GDAL setups need the KMZ renamed to .zip and unzipped first.
How do I get a shapefile out of Google My Maps?
My Maps can’t save a shapefile. Export the map as KMZ (three-dot menu → Export to KML/KMZ), then convert that KMZ here and you get a zipped shapefile with a layer per kind of shape.
What happens to the photos and icons inside my KMZ?
They are left out. A shapefile has no place for images or symbols, so you get the shapes and their attributes. Style the layers again in ArcGIS or QGIS.
Why does my KMZ turn into several shapefiles?
The KMZ has pins, paths and areas together, and a single .shp holds just one shape type. You get one layer each, for example site_points, site_lines and site_areas, all in the same zip.
Which projection does the converted shapefile use?
WGS 84 longitude and latitude (EPSG:4326), the same as every KMZ, written in each layer’s .prj. Reproject it in your GIS if your project uses a local grid such as UTM or a state plane.
Moving the places into Spatibase? Read how to import your data. Need another pair of formats? The GIS file converter converts between all of them.