Convert a file
Home › KML & KMZ converter › KMZ to CSV
KMZCSV

KMZ to CSV converter

A colleague sent a Google Earth file. You needed the points in Excel. This KMZ to CSV converter skips the manual unzip. Drop the .kmz and the archive is opened in the page, the KML inside is read, and each placemark becomes a row.

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 KMZ file to hand? Download a sample KMZ file (100 points) and drop it above to see the conversion.

How to convert KMZ to CSV

  1. Drop the .kmz file; it is unzipped for you right in the tab.
  2. Confirm that the placemarks appear on the preview map before you convert.
  3. Choose CSV and convert; you get X and Y columns for points and a WKT column for anything with a shape.

What changes when you convert KMZ to CSV

WhatKMZ → CSV
GeometryChangesPoint features become X and Y columns; lines and polygons are written to a WKT geometry column, so no shape is lost in the table.
AttributesKeptEvery column and full field name moves from KMZ into CSV untouched.
Styling & labelsDroppedKMZ colors, icons and description balloons are presentation, not data. CSV stores the underlying features, so styling is dropped (the geometry and attributes remain).
Coordinate systemChangesCSV stores raw coordinates without a CRS tag, so note the coordinate system separately for whoever opens the file.
Elevation (Z)ChangesZ values, if present, appear as an extra column rather than 3D geometry.
File structureKeptA single, self-contained .csv file you can move around on its own.

Why convert KMZ to CSV?

A KMZ is a zipped Google Earth map, easy to view and hard to analyze, and the table hiding inside it is often what the job actually needs. Pulling each placemark into a row puts the coordinates and labels where Excel and Google Sheets can sort and filter them, where pandas can batch-process them, and where QGIS can rebuild them as a map layer later.

Coordinate system handling

A zip wrapper holds no georeferencing of its own, so the datum question is settled entirely by the KML document inside, and that document is WGS84 by rule. Whatever produced the archive, a phone app, a drone planner or Google Earth itself, the longitudes and latitudes in it can only mean one thing.

The rows that leave the tab are bare numbers and WKT strings with no system attached, and WKT text carries no SRID of its own. Loading the table into PostGIS or GeoPandas means stating 4326 at load time, since nothing in a comma-separated file can state it for you.

What to check when converting KMZ to CSV

The archive is opened first and the KML inside is read, so what lands in the table is whatever that document holds. Icons, ground overlays, photos and styling are not carried, because a table holds text and numbers only, and point placemarks suit CSV best. A file that converts to an empty table is usually mostly imagery; open it in Google Earth to see whether any placemarks, paths or polygons exist inside, since pictures alone leave nothing to put in rows.

Troubleshooting KMZ to CSV

  • The tab refuses a file that arrived by email. Mail clients sometimes rewrite the .kmz extension to .zip, since the container really is a zip archive underneath. Restore the .kmz ending and the upload goes through, or unzip the attachment and feed the doc.kml inside to the KML to CSV page.
  • Extra KML documents inside the archive never reach the table. A KMZ can carry more than one KML file, and the main document is the one that becomes rows. Unzip the archive with any zip tool, look for additional .kml files, and convert each of them separately when their features matter.
  • A recorded GPS track shrinks to a single row. A track is one placemark whose entire path sits in one WKT cell, so a full day of logging produces one line of CSV rather than one row per fix. Point-by-point analysis with timestamps needs the original GPX from the device, where every position is its own trackpoint.
  • Rows come out in a different order than the Google Earth sidebar. The table follows document order inside the archive, with nested folders emptying out one after another, and that rarely matches how the sidebar was arranged. Sort the finished CSV on a name, date or ID column instead of relying on row position.
  • Opening the result by double-click scrambles long balloon text. Descriptions holding paragraphs of HTML are quoted correctly in the file, and it is Excel's eager parsing that splits them across cells on a casual open. Bring the file in through the text import dialog and the balloons stay inside their single column, markup and all.

About the formats

A KMZ usually starts life as a saved Google Earth map, a zipped bundle of placemarks and styling, while CSV is the plainest table format a spreadsheet or script can read. In the output, placemark names, descriptions and ExtendedData become columns, point coordinates become X and Y, paths and polygons are written as WKT, and elevation gets a column of its own where the file carries it.

Frequently asked questions

Can I load the CSV into pandas or QGIS?

Yes. The output is plain comma-separated text, so pandas reads it directly, and QGIS can turn the coordinate or WKT column back into a map layer.

Which coordinate system are the longitude and latitude values in?

WGS84 longitude and latitude, the only system the KML inside a KMZ can hold. CSV has no CRS tag, so note that for whoever opens the file next.

Is it a fault that the description cells contain HTML tags?

No. Descriptions in Google Earth are HTML balloons, and the markup is kept so links and line breaks survive. Remove it in a spreadsheet when plain text is all you need.

What happens to the lines and polygons in my KMZ when they reach the CSV?

Each one keeps its full vertex list as a WKT string in a single cell, while simple placemarks give a clean X and Y pair. QGIS or pandas can read that WKT field back into real geometry.

Can several KMZ files merge into one table here?

The tab converts one archive per run and writes one CSV for it. Stack the results afterward in a spreadsheet or with a one-line pandas concat, and reach for ogr2ogr when dozens of archives need the same treatment on a schedule.

What should the table of a simple pin map look like?

A handful of saved pins comes out as one row per pin, with the label in the name column, any balloon text under description, and decimal-degree positions split across X for longitude and Y for latitude. A quick scan of those columns tells you the conversion read the archive the way Google Earth displays it.

Related converters

Ready to convert?

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