GeoJSON to CSV
Flatten a GeoJSON FeatureCollection into a table. Each feature becomes a row: its properties become columns, and a Point's coordinates become latitude and longitude columns you can sort, filter, or load into a spreadsheet. Lines and polygons keep their coordinates as JSON in a single column, so nothing is silently lost.
How to convert GeoJSON to CSV
- Paste the GeoJSON or drop a
.geojsonfile. AFeatureCollection, a singleFeature, or a bare geometry all work. - Rename the coordinate columns if your target expects
lat/lngrather thanlatitude/longitude. - Leave flattening on so nested properties become
parent.childcolumns instead of raw JSON. - Copy or download the CSV.
What each geometry type becomes
- Point — a longitude and a latitude column, plus
elevationwhen the coordinate array has a third value. - LineString, Polygon, and the Multi* types — a
geometry_typecolumn plus ageometrycolumn holding the coordinate array as JSON. A CSV row can't represent a shape, so this keeps the data intact rather than dropping it; the status line counts how many rows are affected. - Feature id — carried into an
idcolumn when the feature has one and the properties don't already define one.
Column order and missing properties
Features in the same file often have different property sets. The column list is the union of every property seen across all features, in first-appearance order, and features lacking one get an empty cell — so the CSV is rectangular even when the source isn't. Coordinate columns are appended after the properties.
FAQ
Can I get polygon centroids instead of raw JSON?
Not here — that needs real geometry maths. Compute centroids in QGIS or with turf.js first, then convert the resulting points.
Does it read TopoJSON or KML?
No, GeoJSON only. Convert those to GeoJSON first.
How do I go back the other way?
CSV to GeoJSON builds Point features from latitude and longitude columns.
Is anything uploaded?
No — it runs in your browser.
Privacy
100% client-side. No upload. See the privacy policy.