GeoJSON vs Shapefile: Which Format Should Planners Use?

Published: March 24, 2026 · 8 min read

If you work with GIS data for planning, zoning, or public notice projects, you'll encounter two formats more than any other: GeoJSON and Shapefile. Both store geographic features — parcels, boundaries, roads, zones — but they work very differently under the hood. This guide explains the practical differences and when to use each format.

What Is GeoJSON?

GeoJSON is a modern, text-based format for encoding geographic data. It uses the same JSON syntax that powers most web APIs, making it easy to read, edit, and use in web applications. A GeoJSON file is a single .geojson or .json file containing both geometry (shapes) and properties (attributes) for each feature.

Here's what a simple parcel looks like in GeoJSON:

{
  "type": "Feature",
  "properties": {
    "APN": "123-456-789",
    "OWNER": "Smith, John",
    "SITUS": "100 Main St"
  },
  "geometry": {
    "type": "Polygon",
    "coordinates": [[
      [-118.25, 34.05],
      [-118.25, 34.06],
      [-118.24, 34.06],
      [-118.24, 34.05],
      [-118.25, 34.05]
    ]]
  }
}

What Is a Shapefile?

The Shapefile format was created by Esri in the early 1990s and became the de facto standard for GIS data exchange. Despite the name, a "Shapefile" is actually a collection of at least 3–4 files that must be kept together:

  • .shp — the geometry (shapes)
  • .dbf — the attribute data (like a database table)
  • .shx — the spatial index
  • .prj — the coordinate system definition

Additional optional files include .cpg (character encoding), .sbn/.sbx (spatial index), and others. All files must share the same base name and be in the same folder.

Side-by-Side Comparison

Feature GeoJSON Shapefile
File structure Single file (.geojson) 3–7+ files (.shp, .dbf, .shx, etc.)
Format type Text (JSON) Binary + dBASE
Human-readable ✅ Yes — open in any text editor ❌ Binary — needs GIS software
Max file size No hard limit (practical: ~200 MB) 2 GB per component file
Field name length No limit 10 characters max (dBASE limitation)
Coordinate system Always WGS 84 (EPSG:4326) Any (defined in .prj file)
Web browser support ✅ Native — works with Leaflet, MapLibre, etc. ❌ Requires conversion first
Desktop GIS support ✅ QGIS, ArcGIS Pro ✅ QGIS, ArcGIS, all major GIS
Mixed geometry types ✅ Supported in one file ❌ One geometry type per file
Nested properties ✅ JSON supports nested objects ❌ Flat table only
Industry adoption Growing (web, APIs, open data) Dominant (legacy, government, Esri)

When to Use GeoJSON

GeoJSON is the better choice when:

  • You're using web-based tools — UrbanKit Studio, Mapbox, Leaflet, and most modern mapping libraries work natively with GeoJSON
  • You need a single portable file — no worrying about keeping 4+ files together
  • You want to inspect or edit the data manually — open it in any text editor, VS Code, or even a browser
  • Your dataset is under 50 MB — GeoJSON works well for most planning-scale datasets (a few thousand parcels, a city boundary, zoning districts)
  • You're sharing data via API — GeoJSON is the standard for web-based geographic data exchange
  • Field names are long or descriptive — no 10-character limit

When to Use Shapefile

Shapefile is the better choice when:

  • You're working with Esri software — ArcMap, ArcGIS Pro, and ArcGIS Online all have deep Shapefile support
  • Your dataset is very large — Shapefiles handle large datasets (100K+ features) more efficiently due to binary format and spatial indexing
  • You need a specific coordinate system — Shapefiles can use any projection; GeoJSON is always WGS 84
  • You're submitting to a government agency — many agencies still require Shapefile format for official data submissions
  • You're archiving data for long-term storage — the format has been stable for 30+ years and is universally supported

How to Convert Between Formats

Shapefile → GeoJSON

  • QGIS (free): Open the Shapefile → Right-click layer → Export → Save Features As → Format: GeoJSON
  • ogr2ogr (command line): ogr2ogr -f GeoJSON output.geojson input.shp
  • Online tools: mapshaper.org — drag in your .shp/.dbf/.shx files and export as GeoJSON

GeoJSON → Shapefile

  • QGIS: Open the GeoJSON → Right-click layer → Export → Save Features As → Format: ESRI Shapefile
  • ogr2ogr: ogr2ogr -f "ESRI Shapefile" output.shp input.geojson
  • Online: mapshaper.org also handles this direction
Watch for field name truncation: When converting GeoJSON to Shapefile, any field names longer than 10 characters will be truncated. For example, OWNER_MAILING_ADDRESS becomes OWNER_MAIL. Check your field names after conversion.

What About Other Formats?

GeoJSON and Shapefile cover most planning workflows, but you may encounter these as well:

  • KML/KMZ — Google Earth format. Good for visualization, less practical for data analysis. Can be converted to GeoJSON with ogr2ogr or QGIS.
  • GeoPackage (.gpkg) — A modern SQLite-based format that's gaining traction as a Shapefile replacement. Supports multiple layers, large files, and long field names. QGIS and ArcGIS Pro both support it.
  • File Geodatabase (.gdb) — Esri's proprietary format. Common in ArcGIS workflows but not widely supported outside the Esri ecosystem.
  • CSV with coordinates — Not a spatial format per se, but common for address or point data. Works well with UrbanKit Studio's CSV to Labels Tool.

The Bottom Line for Planners

If you're doing web-based planning work — radius mailing lists, parcel lookups, interactive maps — GeoJSON is almost always the right choice. It's simpler, works in browsers, and is easy to inspect and debug.

If you're working in desktop GIS, submitting data to agencies, or dealing with very large datasets, Shapefile remains the safe default. It's universally supported and has been the standard for decades.

The good news: converting between them is easy and lossless (except for the field name length limitation). So you can work in whichever format suits your current task and convert when needed.

Working with GeoJSON parcel data?

Try the Radius Notice Mailing List Generator →

Upload a GeoJSON file to generate radius-based mailing lists and Avery 5160 labels.

Related Resources