Staaarter

GeoJSON to CSV Converter

Converts a GeoJSON FeatureCollection of Point features into CSV: lat/lon columns read correctly from each feature's [longitude, latitude] coordinates, plus every feature's properties flattened into additional columns, unioned across all features in first-seen order. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-29
By Staaarter Team
conversiongeospatial

Overview

Introduction

GeoJSON is the standard format for map data, but a spreadsheet or reporting tool usually wants a plain CSV instead. This tool flattens a GeoJSON FeatureCollection of Point features back into rows and columns, directly in your browser.

It's the mirror image of this site's CSV to GeoJSON Converter, and honestly scoped to the same case: Point features with flat, string-friendly properties, not arbitrary geometry types or deeply nested property objects.

What Is GeoJSON to CSV Converter?

A GeoJSON-to-CSV converter that reads a FeatureCollection, requires every feature's geometry to be a Point, and emits one CSV row per feature: a "lat" column and a "lon" column (read correctly from GeoJSON's [longitude, latitude] coordinate order), followed by every property key seen anywhere in the collection.

Property columns are unioned across all features in first-seen order, so features with slightly different property sets still line up into one consistent table, with blank cells for properties a given feature doesn't have.

How GeoJSON to CSV Converter Works

The input is parsed as JSON and checked to be a `FeatureCollection` with a `features` array; every feature's `geometry.type` is checked to be exactly `"Point"` before any conversion happens, so a mixed-geometry collection fails fast with a specific error naming the offending feature's index and geometry type.

Property keys are collected once across every feature, in the order first encountered, to build a stable column header. Each feature then contributes one row: `coordinates[1]` (latitude) and `coordinates[0]` (longitude) in their correct positions, followed by each property's value (stringified, or blank if that feature lacks that property).

When To Use GeoJSON to CSV Converter

Use it to get GeoJSON Point data (from a map export, a GIS tool, or an API response) into a spreadsheet-friendly CSV for reporting or further analysis.

It won't help with LineString, Polygon, or MultiPoint geometries - those need a different flattening strategy since they don't map onto a single lat/lon pair per row.

Features

Advantages

  • Correctly reads GeoJSON's [longitude, latitude] coordinate order rather than assuming the more intuitive-sounding lat-first order.
  • Handles features with inconsistent property sets gracefully, by unioning all property keys rather than failing or silently dropping columns.
  • Fails with a specific, per-feature error for unsupported geometry types instead of guessing how to flatten a Polygon or LineString into a single row.

Limitations

  • Only Point features are supported; any other GeoJSON geometry type causes the whole conversion to fail with a specific error.
  • Nested or array-valued properties are stringified rather than expanded into further columns, since CSV cells are plain text.
  • Feature-level metadata outside `properties` and `geometry.coordinates` (like a top-level `id` field) isn't included in the output.

Examples

A one-feature Point FeatureCollection flattened to CSV

Input

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": { "type": "Point", "coordinates": [-0.1278, 51.5074] },
      "properties": { "name": "Store A" }
    }
  ]
}

Output

lat,lon,name
51.5074,-0.1278,Store A

Latitude and longitude are read out of the coordinates array in the correct order and placed in their own columns, followed by the "name" property.

Best Practices & Notes

Best Practices

  • If conversion fails, check the reported feature index and geometry type - the collection likely contains a LineString, Polygon, or other non-Point geometry mixed in with your Points.
  • Flatten any deeply nested properties in your GeoJSON source before converting if you need those nested values as separate CSV columns rather than one stringified blob.
  • Round-trip through CSV to GeoJSON Converter to confirm no coordinate precision or property data was lost.

Developer Notes

Property-key unioning is done with a single pass collecting keys into an array plus a parallel `Set` for O(1) duplicate checks, preserving first-seen insertion order - this matters because CSV columns need a stable, deterministic order, and JavaScript's `Set` iteration order (insertion order) is what makes that guarantee hold without an extra sort step.

GeoJSON to CSV Converter Use Cases

  • Exporting GeoJSON point data from a mapping tool into a spreadsheet-friendly CSV
  • Preparing location data for a reporting tool or business-intelligence pipeline that only accepts CSV
  • Auditing a GeoJSON FeatureCollection's property keys by seeing them laid out as CSV columns

Common Mistakes

  • Feeding in a FeatureCollection with mixed geometry types and expecting non-Point features to be silently skipped - they're not; the whole conversion fails with a specific error instead.
  • Expecting nested property objects to expand into multiple CSV columns automatically - they're stringified as a single cell instead.

Tips

  • If you have a mixed-geometry GeoJSON file, filter it down to just its Point features (in a text editor or script) before converting here.
  • Use CSV to GeoJSON Converter afterward to double check a round trip preserves your coordinates and properties as expected.

References

Frequently Asked Questions