Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

CSV ⇄ GeoJSON / KML / GPX Converter

Spreadsheets of places to map files and back, checked on a map as you go.

Free preview, no sign-upIncluded in your pass Pro tool Pro pass: ₹179 / $5.99 for 30 days On this device: nothing is sent
+3 +1 more details No uploadWorks offline once opened Data

Free preview: the check of your locations, the map of your features and the first rows of the result (up to 10; a single feature is shown with its locations hidden). Locked until you unlock it: download and copy.

Pro pass ₹179 for 30 days or ₹79 for 1 week, one‑time. Pro pass $5.99 for 30 days or $2.99 for 1 week, one‑time. How to unlock

Try before you buy.

  • Free preview: the check of your locations, the map of your features and the first rows of the result (up to 10; a single feature is shown with its locations hidden).
  • Locked until you unlock it: download and copy.
  • Unlock: Pro pass, ₹179 for 30 days or ₹79 for 1 week, a one-time payment unless you choose automatic renewal. Unlock: Pro pass, $5.99 for 30 days or $2.99 for 1 week, a one-time payment unless you choose automatic renewal.

Ways to unlock shows how to get the full result.

See passes (opens in a new tab)

Printing this result is locked in the free preview.

1. Your locations

Or paste rows from a spreadsheet, GeoJSON, KML, GPX or WKT

Next steps Done. What next?

Start over

A Pro pass unlocks the full result. See passes

All data & spreadsheet tools

About the CSV ⇄ GeoJSON / KML / GPX Converter

Turn a spreadsheet of places into a map file, or a map file into a spreadsheet. Open a CSV or Excel table with latitude and longitude columns (or one “lat, lon” column, WKT or GeoJSON geometries), or a GeoJSON, KML, KMZ, GPX, TopoJSON, Esri JSON or shapefile, and, with a pass, save it as GeoJSON, KML, KMZ, GPX, CSV, Excel or a zipped shapefile. Several files can be merged in one go, and rows of GPS fixes can be joined into lines.

Before anything is written, every location is checked: coordinates that cannot be read are listed by row, values beyond ±90° latitude or ±180° longitude are flagged, points at 0°, 0° are pointed out, and swapped latitude and longitude are detected — by the ranges, and by how many points fall on land each way round. A map preview with a world outline drawn in your browser shows the points, lines and areas; click one to see its fields. The files are read and written on your device.

Without a pass, the free preview shows the check of your locations and the first rows of the result; the converted files and the copy unlock with a Pro pass.

How to use it

  1. Drop your file(s) in, or paste rows from a spreadsheet, GeoJSON, KML, GPX or WKT. Example table and Example GPS track show how it works.
  2. For a table, check the location columns that were found: latitude and longitude, one column with both, or a WKT or GeoJSON column. Choose whether rows of GPS fixes become lines, and the coordinate system if the values are in metres (UTM, Web Mercator or another EPSG code).
  3. Read the check: the counts, any rows that could not be placed, and suggestions such as exchanging latitude and longitude. Look at the map; drag, zoom and click features to inspect them.
  4. Choose the output — GeoJSON, KML, KMZ, GPX, CSV, Excel or Shapefile — and its options (names and descriptions for KML and GPX, decimals, one row per feature or per point for tables), then download or copy it — with a pass, or after unlocking this result.

Examples

A list of addresses with coordinates → KML for Google Earth or My Maps
Input
name,city,latitude,longitude
Eiffel Tower,Paris,48.858222,2.2945
Statue of Liberty,New York,40.68917,-74.04444
Result
<Placemark><name>Eiffel Tower</name>…<Point><coordinates>2.2945,48.858222</coordinates></Point></Placemark>

KML and GeoJSON put the longitude first; the other columns go into ExtendedData (KML) or properties (GeoJSON).

A GPS track (GPX) → one CSV row per point
Input
<trkpt lat="19.0759" lon="72.8777"><ele>14</ele><time>2026-03-01T01:30:00Z</time>… <gpxtpx:hr>92</gpxtpx:hr></trkpt>
Result
feature,gpx_type,name,part,point,latitude,longitude,elevation,time,hr
2,track,Morning walk,1,1,19.0759,72.8777,14,2026-03-01T01:30:00Z,92

Times and device values such as heart rate, cadence and power are kept for every point; Excel output makes the times real date-time cells.

Coordinates written by hand
Input
51°30′26″N 0°07′39″W
19.0760, 72.8777
https://maps.google.com/?q=18.922,72.8347
Result
51.507222, −0.1275 · 19.076, 72.8777 · 18.922, 72.8347

Degrees-minutes-seconds, decimal commas, hemisphere letters, geo: URIs and map links are all read.

Common uses

  • Putting a customer, store or site list from Excel on Google Earth, Google My Maps or a web map.
  • Getting placemarks out of a KML or KMZ (from Google Earth or My Maps) into a spreadsheet.
  • Turning a run, ride or drive recorded as GPX into a table of points with times, elevation and heart rate — or sending waypoints from a spreadsheet to a GPS device.
  • Converting government or open-data shapefiles to GeoJSON or CSV, or making a shapefile from a CSV for desktop GIS.
  • Cleaning location data before importing it: finding rows without coordinates, swapped columns and values in the wrong range.

Formats it reads and writes

Reads: CSV, TSV and Excel tables (XLSX, XLS, ODS); GeoJSON (RFC 7946, also GeoJSON Lines and RFC 8142 sequences, and the old “crs” member), TopoJSON, Esri JSON (ArcGIS feature sets), JSON lists of records, KML and KMZ (folders, ExtendedData, MultiGeometry, polygons with holes, gx:Track), GPX 1.0 and 1.1 (waypoints, routes, tracks with segments and extensions), shapefiles (zipped, or the .shp, .dbf, .prj and .cpg together; points, multipoints, polylines and polygons, with Z) and WKT. Writes: GeoJSON (or GeoJSON Lines), KML, KMZ, GPX 1.1, CSV, Excel and a ZIP with a shapefile for each kind of shape (points, lines, areas), each with its .shx index, .dbf in UTF-8 (.cpg), and a WGS 84 .prj.

Coordinates it understands

Decimal degrees with a point or a comma (19.076 or 19,076), degrees-minutes-seconds and degrees-decimal-minutes with or without symbols (51°30′26″N, 51 30 26 N, 51:30.443), hemisphere letters or words before or after the value, “lat, lon” pairs in one cell (with comma, space, semicolon or slash), and Google Maps links and geo: URIs. When a pair is written longitude first and the first number cannot be a latitude, it is read that way and counted in the notes. Elevations come from an elevation column, the third value of GeoJSON and KML positions, GPX <ele> and shapefile Z values.

Swapped latitude and longitude, and other checks

Exchanged columns are the most common mistake in location data. When latitudes beyond ±90° all make sense as longitudes, the swap is certain; otherwise the points are tested against a 1:110m land outline both ways round, and a swap is suggested when far more of them fall on land exchanged (for example 13 % as written against 88 % exchanged). One click applies it. Longitudes written from 0° to 360° can be converted to −180°…180°, points at exactly 0°, 0° (a typical stand-in for “unknown”) can be left out, and values in metres are recognised so you can choose their coordinate system. Locations outside the valid ranges are never written to a file; they are listed with their row.

Coordinate systems

Map files are written in WGS 84 longitude and latitude (EPSG:4326), as GeoJSON, KML and GPX require. Input in other systems is converted: Web Mercator (EPSG:3857, also the ESRI codes 102100 and 102113), World Mercator, any UTM zone, and the Transverse Mercator, Lambert Conformal Conic, Mercator and Albers grids of a shapefile’s .prj (WKT 1 or WKT 2), in metres or feet. Datums on the WGS 84 or GRS 1980 ellipsoid (NAD83, ETRS89, GDA94, GDA2020, NZGD2000, SIRGAS 2000 …) are taken as WGS 84, which they match to about 1–2 m. Transverse Mercator uses Krüger’s series as published by Karney, accurate to well under a millimetre.

Tracks, times and values per point

GPX tracks keep the time and the extension values of every point (heart rate, cadence, temperature, power, speed …); KML gx:Track keeps its times. Writing CSV or Excel with one row per point gives a table of all of them, with the feature, part and point number. Going the other way, a table of GPS fixes can be joined into lines — all rows into one, or one line per value of a column such as a vehicle or trip ID — and GPX output then carries each point’s time. GeoJSON output stores the times in properties.coordinateProperties, as togeojson does, so they survive a round trip.

Limitations

  • Files up to 200 MB each and up to 10,000,000 positions; tables follow the limits of the table reader (100 MB for CSV, 50 MB for workbooks). Everything is held in memory while it is converted.
  • Datum shifts are not done: data on OSGB 1936, ED50, NAD27, Tokyo and other older datums (and grids based on them, such as the British National Grid) must be reprojected to WGS 84 first, for example in QGIS. Lambert Azimuthal Equal Area, stereographic and oblique projections are not converted.
  • KML styles, icons, network links and image overlays are not converted, only placemarks; GPX keeps a name and a description, not other fields; a shapefile’s field names are cut to 10 characters and texts to 254 bytes, with the changes listed.
  • The map preview is a quick check on a coarse world outline, not a basemap for measuring or navigation.

Privacy

On this device: nothing is sent

Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot.

Frequently asked questions

What do I get without a pass?

Without a pass, CSV ⇄ GeoJSON / KML / GPX Converter shows the check of your locations, the map of your features and the first rows of the result (up to 10; a single feature is shown with its locations hidden). Until you unlock it, the result can’t be downloaded or copied. A Pro, Premium or Ultimate pass, a one-time payment unless you choose automatic renewal, unlocks the full result. The pricing page lists the passes and their prices.

How do I convert a CSV or Excel file to KML for Google Earth or Google My Maps?

Open the file, check that the latitude and longitude columns were found, choose KML (or KMZ) and the column for the placemark names, and download it with a pass. Google Earth opens it directly; in Google My Maps, choose Import on a layer.

How do I get the placemarks of a KML or KMZ into Excel?

Open the KML or KMZ, choose Excel or CSV, and download with a pass. Each placemark becomes a row with its name, description, extended data, folder, latitude and longitude (or WKT for lines and areas).

Why are my points in the ocean or in the wrong country?

Usually because latitude and longitude are exchanged, or because the values are not degrees. The check suggests the swap when the points fall on land the other way round, and recognises values in metres (UTM or Web Mercator) so you can choose their coordinate system.

My shapefile has several files. Which do I need?

The .shp (shapes), .dbf (attributes) and .prj (coordinate system); a .cpg tells the text encoding. Drop them together or as the .zip they came in. Without a .prj, degrees are assumed and you can choose the coordinate system.

Can I convert a GPX track to CSV with the time of every point?

Yes. Open the GPX, choose CSV or Excel with One per point rows, and every track point becomes a row with its time, latitude, longitude, elevation and device values such as heart rate.

Is my data uploaded?

No. The files are read, checked, converted and written by this page in your browser; the map outline is part of the page.

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.