{
  "slug": "geojson-to-csv",
  "name": "gizza-ai/geojson-to-csv",
  "version": "0.1.0",
  "title": "GeoJSON to CSV Converter — gizza.ai",
  "description": "Flatten GeoJSON features into CSV rows with property columns, WKT or longitude/latitude geometry, nested-field flattening, and delimiter options.",
  "tags": [
    "geojson to csv",
    "geojson converter",
    "gis csv",
    "wkt",
    "featurecollection",
    "flatten json",
    "coordinates"
  ],
  "category": "data",
  "urls": {
    "page": "https://gizza.ai/tools/geojson-to-csv/",
    "markdown": "https://gizza.ai/tools/geojson-to-csv/index.md",
    "descriptor": "https://gizza.ai/tools/geojson-to-csv/tool.json",
    "deep_link_example": "https://gizza.ai/tools/geojson-to-csv/?geojson=%7B%22type%22%3A%22FeatureCollection%22%2C%22features%22%3A%5B%7B%22type%22%3A%22Feature%22%2C%22properties%22%3A%7B%22name%22%3A%22Alpha%22%2C%22pop%22%3A1200%7D%2C%22geometry%22%3A%7B%22type%22%3A%22Point%22%2C%22coordinates%22%3A%5B-105%2C40%5D%7D%7D%5D%7D&geometry=wkt&nested=json&delimiter=comma&header=true"
  },
  "cli": "gizza tool geojson-to-csv '{\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{\"name\":\"Alpha\",\"pop\":1200},\"geometry\":{\"type\":\"Point\",\"coordinates\":[-105,40]}}]}'",
  "tool": {
    "description": "Flatten GeoJSON features into a CSV table, one row per feature. Pass `geojson` as a FeatureCollection, a single Feature, a bare geometry (Point, LineString, Polygon and their Multi/Collection variants), or a top-level array of any of those; coordinates are [longitude, latitude]. Every `properties` key becomes a column (union across all features, in first-seen order; missing values are blank). Set `geometry` to 'wkt' (default, a `geometry` column of 2-D Well-Known Text), 'lonlat' (`longitude`+`latitude` from the first coordinate), 'both', or 'none'. Use `nested`='flatten' to expand nested objects/arrays into dot-notated columns (`address.city`, `tags.0`) instead of JSON text. `delimiter` picks comma/semicolon/tab/pipe and `header`=false drops the header row. Output is RFC-4180 escaped. Runs locally on the device.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "delimiter": {
          "default": "comma",
          "description": "Output field separator: 'comma' (default), 'semicolon', 'tab' or 'pipe'. Fields are RFC-4180 escaped (quoted when they contain the delimiter, a quote or a newline).",
          "enum": [
            "comma",
            "semicolon",
            "tab",
            "pipe"
          ],
          "type": "string"
        },
        "geojson": {
          "description": "GeoJSON to convert. Accepts a FeatureCollection, a single Feature, a bare geometry (Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection), or a top-level array of any of those. Coordinates are [longitude, latitude]. Each row is one feature; every properties key becomes a column (union across all features, in first-seen order).",
          "type": "string"
        },
        "geometry": {
          "default": "wkt",
          "description": "How each feature's geometry is written: 'wkt' (default) a single `geometry` column of 2-D Well-Known Text (POINT/LINESTRING/POLYGON…); 'lonlat' `longitude`+`latitude` columns from the first coordinate; 'both' the WKT and lon/lat columns; 'none' drops geometry (properties only).",
          "enum": [
            "wkt",
            "lonlat",
            "both",
            "none"
          ],
          "type": "string"
        },
        "header": {
          "default": true,
          "description": "Emit a header row of column names. Default true.",
          "type": "boolean"
        },
        "nested": {
          "default": "json",
          "description": "How nested property objects/arrays are represented: 'json' (default) keeps them in one column as compact JSON text; 'flatten' expands them into dot-notated leaf columns (`address.city`, `tags.0`).",
          "enum": [
            "json",
            "flatten"
          ],
          "type": "string"
        }
      },
      "required": [
        "geojson"
      ],
      "type": "object"
    }
  }
}