BYTETOOLS

CSV to GeoJSON Converter

Turn a CSV of coordinates into a GeoJSON FeatureCollection, picking the latitude and longitude columns and keeping every other column as a property.

Drop a .csv or .tsv file here, or click to browseConverted locally — the file is never uploaded

Paste a table or drop a CSV file, then pick which columns hold latitude and longitude.

What is the CSV to GeoJSON Converter?

Paste a spreadsheet export or drop a CSV file and this converter builds a GeoJSON FeatureCollection from it.

  • Automatic delimiter detection plus comma, semicolon, tab and pipe options
  • Guesses the latitude and longitude columns from common header names
  • Keeps every other column as a feature property, with optional numeric typing
  • Reports each skipped row by line number and explains exactly what was wrong
  • RFC 4180 parsing, so quoted fields with commas and quotes are read correctly
  • Coordinate rounding to shrink the output, and pretty-printing on or off
  • Fully client-side — your data never leaves the browser

How to use the CSV to GeoJSON Converter

  1. 1

    Drop a .csv or .tsv file, or paste your rows into the text area.

  2. 2

    Confirm the delimiter and whether the first row is a header.

  3. 3

    Check the latitude and longitude columns the tool picked, and change them if needed.

  4. 4

    Choose a coordinate precision and decide whether to keep the other columns as properties.

  5. 5

    Review the skipped-row report, then copy or download the .geojson file.

About the CSV to GeoJSON Converter

Paste a spreadsheet export or drop a CSV file and this converter builds a GeoJSON FeatureCollection from it. It auto-detects the delimiter and guesses which columns hold latitude and longitude from headers like lat, lon, lng, y and x, and you can override both choices from a dropdown if the guess is wrong.

Every remaining column becomes a property on the feature, with numeric columns optionally written as real JSON numbers so they can drive a choropleth or a filter without extra parsing. Rows with a missing or out-of-range coordinate are skipped and reported by line number with the reason, rather than quietly disappearing.

The parser handles quoted fields, embedded commas and doubled quotes properly, so an address column with a comma in it will not shift your coordinates one column left. Everything is converted in your browser and nothing is uploaded.

Frequently asked questions

How do I convert a spreadsheet of coordinates to GeoJSON?

Export the sheet as CSV, drop it here, and confirm which columns hold latitude and longitude. The tool writes a FeatureCollection of Point features with your remaining columns as properties, ready for Leaflet, Mapbox, QGIS or GitHub.

Why do my points appear in the wrong place?

Almost always because latitude and longitude are swapped. GeoJSON stores positions as [longitude, latitude], so a swap puts New York in the Indian Ocean. Change the column mapping and the points jump back — the tool validates ranges, so a latitude above 90 is rejected outright.

What happens to rows with missing coordinates?

They are skipped and listed with their line number and the reason, such as "latitude is not a number within ±90°". Nothing is silently dropped, and the success rate is shown so you can tell at a glance whether the mapping is right.

Can it handle DMS coordinates rather than decimals?

Yes. Values like 40°26'46"N are parsed as well as plain decimals, so an export from an older system will usually work without any preparation. Mixed formats in the same column are fine.

Should numbers be written as JSON numbers or strings?

Write them as numbers if you plan to style or filter by them, because most mapping libraries will not compare a string numerically. Keep them as strings when a column holds identifiers with leading zeros, such as a postal code, that must not be reformatted.

Related tools