CSV to GeoJSON Converter
Upload a spreadsheet with latitude and longitude columns and download standards-compliant GeoJSON — with validation so bad rows do not silently break your map.












From spreadsheet to standards-compliant GeoJSON
Most location data starts life in a spreadsheet: a survey export, a list of sites, a property register, a set of sensor installations. GeoJSON is what web maps, APIs and modern GIS libraries expect. This tool bridges the two. It reads the header row, guesses which columns hold the coordinates, and builds one Point feature per row with every remaining column attached as a property.
Column detection and validation
Latitude columns named latitude, lat, y or lat_dd are recognised automatically, as are longitude, lng, lon, long and x for the other axis. If your headers use something unusual, pick the right columns from the dropdowns. Every row is then validated: latitude must be within plus or minus 90, longitude within plus or minus 180, and rows that resolve to exactly (0, 0) are skipped because that almost always means an empty or unparsed cell rather than a genuine point in the Gulf of Guinea.
- Rows with blank or non-numeric coordinates are counted and skipped, not silently mangled
- Coordinates outside valid WGS84 range are rejected
- The (0, 0) "Null Island" case is treated as missing data
- GeoJSON output uses [longitude, latitude] order as the specification requires
The mistake that catches almost everyone
Humans write coordinates as latitude then longitude. The GeoJSON specification stores them the other way round: longitude first, then latitude. If you build GeoJSON by hand and your points appear in the wrong hemisphere, or in the ocean, this reversal is the reason nine times out of ten. This converter always writes the correct order, and the live map preview means you will see immediately if the source data itself had the columns mislabelled.
What if my CSV only has addresses?
A CSV with a street address but no coordinates cannot be converted here, because turning an address into a coordinate is geocoding — it needs a lookup service, not a format change. Signed-in GeoDataMapper accounts can geocode address columns during upload. Otherwise, geocode the file first and then convert the result.
Free version
- Auto-detects lat/lng column names
- Validates WGS84 range and skips Null Island rows
- Every other column kept as a feature property
- Map preview plus one-click GeoJSON download
With a GeoDataMapper account
- Geocode rows that only have an address, not coordinates
- Reproject UTM, State Plane and national grids on import
- Handle files with hundreds of thousands of rows
- Save as a live map you can share or embed
Frequently asked questions
Which column names are detected automatically?▾
latitude, lat, y, lat_dd, ycoord for latitude; longitude, lng, lon, long, x, lng_dd, xcoord for longitude. Anything else can be selected manually.
Why were some of my rows skipped?▾
A row is skipped when its coordinates are blank, non-numeric, outside valid WGS84 range, or exactly (0, 0). The skipped count is shown so you can go back and fix the source.
Can it produce lines or polygons?▾
Not from a flat CSV. One row becomes one point. Building lines and polygons requires vertex ordering information a plain CSV does not carry.
Are all my other columns kept?▾
Yes. Every column becomes a property on the resulting feature, so nothing is discarded.
Is my spreadsheet uploaded anywhere?▾
No. Parsing and conversion happen entirely in your browser.