Live Online Convertercsv → geojson

CSV to GeoJSON Converter

Turns a CSV with coordinate or WKT columns into GeoJSON with GDAL's ogr2ogr.

Upload a .csv file. The worker finds the coordinate columns by name (or a WKT column), assigns WGS84 when the values are longitude/latitude, and writes a GeoJSON file. Without recognisable columns the upload is refused with an explanation.

Drag a file here to convert, or select file

Accepted: .csv · max. 50 MB

Direct upload to the GDAL worker (Fly.io, Frankfurt)Files are deleted after the conversion

What the converter does

  • Coordinates are found by column name, ignoring case: X = lon, lng, long, longitude, laenge, länge, x, easting, rechtswert, ostwert; Y = lat, latitude, breite, y, northing, hochwert, nordwert. Alternatively a WKT column named wkt, wkt_geom, geom, geometry, the_geom or geometrie.
  • If the X/Y columns are named like longitude/latitude and the values lie within ±180/±90, the worker assigns WGS84 (EPSG:4326). Other coordinates (e.g. rechtswert/hochwert) get no coordinate system; the report says so.
  • Comma, semicolon, tab and pipe work as separators; with semicolons, decimal commas (50,943) are read correctly.
  • Files that are not valid UTF-8 are read as Windows-1252 (typical for Excel) and converted to UTF-8; the report notes it.
  • A CSV without recognisable coordinate columns is rejected with a message listing the accepted column names.
  • Only the coordinate columns are read as numbers; all other columns are written as text.
  • Coordinates in metres (e.g. rechtswert/hochwert) get no coordinate system. A GeoJSON without crs member is read as WGS84 longitude/latitude, so for such data choose CSV to Shapefile or assign the system in your GIS.
  • The report below the upload shows layers and features read and written, skipped layers with the reason, GDAL's warnings and the exact commands.

GDAL command the worker runs

sh — gdal
$ogr2ogr -f GeoJSON converted.geojson input.csv input -oo X_POSSIBLE_NAMES=lon -oo Y_POSSIBLE_NAMES=lat -a_srs EPSG:4326

lon and lat are the column names found in your file. For a WKT column the worker uses -oo GEOM_POSSIBLE_NAMES=<column> -oo KEEP_GEOM_COLUMNS=NO instead.

Tested with

Test fileResult
CSV (comma) with id, name, lat, lon, 3 rows3 of 3 points, EPSG:4326
CSV with semicolons and decimal commas2 of 2 points at the right place (6.9583/50.943)
Excel CSV in Windows-1252 with Breite/Länge2 of 2 points, umlauts correct; report: read as Windows-1252
CSV with a WKT column (1 polygon, 1 point)1 GeoJSON with both geometries
CSV with rechtswert/hochwert in metres2 of 2 points, no crs member; report: coordinate system unknown

Tested on 24 Sep 2026 with the worker code of this site and GDAL 3.10.3 (conda-forge build on Windows). The worker image runs the Debian build of the same GDAL version; the live worker was not part of these tests.

Limits

  • Upload limit: 50 MB per file.
  • GeoJSON output for coordinates in metres is not usable as WGS84; see above.
  • Each GDAL step may run for up to 240 seconds; a longer run is stopped with an error message.

Frequently Asked Questions

Which column names are recognised?

X: lon, lng, long, longitude, laenge, länge, x, easting, rechtswert, ostwert. Y: lat, latitude, breite, y, northing, hochwert, nordwert. WKT: wkt, wkt_geom, geom, geometry, the_geom, geometrie. Case does not matter.

What happens to my file?

Your browser uploads it directly to the GDAL worker on Fly.io (region Frankfurt). The worker converts it in a temporary folder and deletes the folder after sending the result, or immediately if the conversion fails. Files are not stored permanently.

Related conversions