A CSV to KML converter turns a plain spreadsheet of coordinates into a Keyhole Markup Language file that Google Earth, Google Maps, and most GIS tools can read. If you have a list of stores, sensors, survey points, or any locations with latitude and longitude, this tool builds the KML for you in seconds — entirely in your browser, with no upload.
How it works
The tool parses your CSV with a proper quote-aware parser, so fields containing commas or line breaks inside double quotes are handled correctly. It then locates the coordinate columns by matching the header names: lat, latitude, or y for latitude and lon, lng, long, longitude, or x for longitude. Optional name and description columns become each placemark’s title and balloon text.
For every data row, it emits a Placemark element. The critical detail is coordinate order: KML writes points as longitude,latitude,altitude, which is the reverse of how spreadsheets usually list them. The converter performs that swap automatically and appends a zero altitude. Rows with non-numeric or out-of-range coordinates are skipped and the count of valid placemarks is reported.
The coordinate-order pitfall explained
This is the single most common source of corruption when building KML manually. Most people think in latitude-first order — Google Maps, OpenStreetMap, and geographic convention all express a location as (lat, lon). KML inherits GIS tradition and uses (longitude, latitude, altitude) — the opposite.
If you build the <coordinates> element yourself with lat first, every pin will
appear in the wrong hemisphere (because longitude and latitude values fall in
overlapping ranges, the map places the pin roughly symmetrically across the
equator and prime meridian). This converter always writes the swap correctly:
lon,lat,0 — so you never have to remember it.
Example
A row like Yerevan HQ,40.1792,44.4991,Head office produces:
<Placemark>
<name>Yerevan HQ</name>
<description>Head office</description>
<Point><coordinates>44.4991,40.1792,0</coordinates></Point>
</Placemark>
Note the coordinate order in the output: longitude (44.4991) comes before latitude (40.1792), matching the KML specification.
What makes a valid KML Placemark
The minimum required element is a <Point> with <coordinates>. The tool
generates a complete, schema-valid KML 2.2 document with:
- A
<Document>wrapper with the name you specify. - One
<Placemark>per valid data row. <name>from thenamecolumn if present.<description>from thedescriptioncolumn if present, wrapped in a CDATA block so HTML inside descriptions is preserved.- Proper XML escaping on all text:
&,<,>, and"replace bare&,<,>, and"in names and descriptions.
Opening the KML in Google Earth
Download the .kml file and:
- Google Earth (web): drag the file onto the map — it loads as a layer.
- Google Earth Pro (desktop): File → Open, select the
.kmlfile. - Google My Maps: New map → Import → upload the
.kml. - QGIS / ArcGIS: Use the vector layer import or drag-and-drop.
Tips
Quote any name or description that contains a comma. All XML-special characters (&, <, >, quotes) are escaped automatically, so addresses with ampersands stay valid. Everything runs locally, so the tool works offline and keeps confidential location data on your machine.