- Home
- Free tools
- CSV to KML
Convert CSV to KML
One placemark per row, ready for Google Earth or QGIS. Free, and the file never leaves your browser.
or drop CSV here
How the conversion works
- 1
Choose a .csv file, drop it on the page, or paste the table. Comma, semicolon and tab delimiters are all recognised.
- 2
The page finds the coordinate columns by their name: latitude, lat or y for one, longitude, lon, lng or x for the other. A wkt column works too, for lines and polygons. A name column becomes the placemark name.
- 3
Download the KML. Open it in Google Earth, or in QGIS through Layer, Add Layer, Add Vector Layer.
How each column is used
The names are matched after lowercasing and stripping spaces and underscores, so Latitude, LAT and lat_dd all work.
| Column names recognised | Where it goes in the KML |
|---|---|
| latitude, lat, y, northing | The second number of the Point coordinates. Decimal degrees, WGS 84. A decimal comma is accepted. |
| longitude, lon, lng, long, x, easting | The first number of the Point coordinates. |
| name, title, label, id | The placemark name. Rows without one are named by their row number. |
| description, desc, notes, comment | The placemark description. |
| wkt, geometry, geom, the_geom | Well-known text. POINT, LINESTRING, POLYGON and the MULTI types become the matching KML geometry when there is no latitude and longitude pair. |
| Everything else | One ExtendedData field per column, named after the column, so QGIS shows them as attributes. |
What it does not do
- Coordinates must be latitude and longitude in degrees. A CSV in a projected system, metres in UTM or Lambert for example, has to be reprojected first, in QGIS or with ogr2ogr.
- No icons or colours. Set them in Google Earth or in the QGIS style panel.
- When most values in the latitude column are beyond 90 degrees, the two columns are swapped and a notice says so. Check it on a map: nothing else can tell a column named wrong from a file in a projected system.
- Files up to 50 MB. Every row with a readable coordinate pair becomes a placemark; the rows without one are counted and skipped.
Questions people ask
- Does my CSV get uploaded?
- No. The conversion is JavaScript running in your browser tab. Open the network panel of your browser while you convert: no request carries the file.
- Which column names does it recognise?
- latitude, lat, y or northing for the latitude; longitude, lon, lng, long, x or easting for the longitude; name, title, label or id for the name; description, desc, notes or comment for the description. Case and underscores do not matter.
- My coordinates are in UTM. Will it work?
- No. KML only carries degrees. Reproject the table first: in QGIS, load it as a delimited text layer with its UTM CRS, then Export, Save Features As, KML, which reprojects on the way out.
- What happens to the other columns?
- Each one becomes an ExtendedData field on the placemark. Google Earth shows them in the balloon, QGIS shows them as attributes, and a KML to CSV conversion gets them back as columns.
- Can it make lines or polygons from a CSV?
- Yes, from a wkt column holding LINESTRING or POLYGON text. A CSV where each row is a vertex of one line is not supported: group it into WKT first, or load it in QGIS and use Points to Path.
Other free tools
- KML to CSV
- GeoJSON to KML
- Shapefile to KML
- CSV to Shapefile
- CSV to GeoJSON
- KMZ to KML
- CSV to KMZ
- GPX to KML
- KML to GeoJSON
- Shapefile to GeoJSON
- GeoJSON to Shapefile
- KML to Shapefile
- Shapefile to CSV
- GeoJSON to CSV
- KML to KMZ
- KMZ to Shapefile
- Shapefile to KMZ
- KMZ to CSV
- KML to GPX
- KMZ to GPX
- GPX to KMZ
- Merge GPX
- Coordinate converter
- All free tools
Next, open it in QGIS
Every one of these files loads in QGIS in one dialog. Once the points or polygons sit on your imagery, the two TerraLab plugins take over: AI Segmentation detects the objects the file is missing, AI Edit renders a project on the map.