mapverter

KML to CSV Converter

Convert KML placemarks to CSV in your browser. Points get latitude and longitude columns, lines and polygons get WKT, and the file opens cleanly in Excel.

  1. Add file
  2. Review
  3. Download

Drag your map file here

SHP (zip, or .shp with .shx, .dbf, .prj), KML, KMZ, GeoJSON, GPX, CSV

Free · one dataset at a time · up to 20 MB

Converting several datasets at once?

The columns you get

  • If every placemark is a single point, the table starts with latitude and longitude columns.
  • If there are lines or polygons, every row gets one wkt column instead, with points written as POINT. A MultiGeometry that mixes types is kept as one GEOMETRYCOLLECTION value.
  • After the coordinates come name, description, every ExtendedData value and a folder column with the placemark's folder path.

Placemarks without coordinates keep their row, with the coordinate cells left empty.

Ready for spreadsheets

The file is UTF-8 with a byte order mark, so Excel shows accented and non-Latin text correctly. Cells that begin with =, +, - or @ get a leading apostrophe so a spreadsheet will not run them as formulas; plain negative numbers are left as they are. Descriptions written in HTML are kept as text.

What is dropped

CSV has no place for styles, so colors and line widths are left out, and altitude is removed. The conversion report counts the placemarks that had styling, and mentions altitude only when a height was not zero.

Frequently asked questions

Why do I get a WKT column instead of latitude and longitude?
Latitude and longitude columns can only describe points. As soon as the KML contains a line or a polygon, every row uses a WKT column so all shapes fit in one table.
Why do some cells start with an apostrophe?
Values that begin with =, +, - or @ could be run as formulas when the file is opened in a spreadsheet. The apostrophe keeps them as plain text.
Are KML folders kept?
Yes, as a folder column holding each placemark's folder path, with nested folders joined by a slash.
Is my KML uploaded?
No. The conversion happens in your browser.