geodata.plus
Under DevelopmentJoin Waitlist
Article

Shapefile vs GeoJSON — Which Format Should You Use?

A practical comparison of two of the most common GIS vector formats, and when to choose each one.

Dave Halmai
Dave Halmai

GIS specialist and technical writer at geodata.plus.

May 1, 2026

Shapefile and GeoJSON are the two formats you'll encounter most often in GIS work. They solve the same problem — storing vector geodata — but make very different tradeoffs.

What is a Shapefile?

Shapefile is an Esri format from the early 1990s. Despite its age, it remains the dominant exchange format in enterprise GIS, government data portals, and legacy workflows.

A "shapefile" is actually four files minimum:

| File | Purpose | |------|---------| | .shp | Geometry (points, lines, polygons) | | .dbf | Attribute table | | .shx | Index linking .shp and .dbf | | .prj | Coordinate reference system |

Shapefile limitations

  • Field names truncated to 10 characters
  • No support for mixed geometry types in one file
  • 2 GB file size limit
  • No date-time fields — dates only
  • Requires all component files to be present

What is GeoJSON?

GeoJSON is an open standard (RFC 7946) built on JSON. It's human-readable, widely supported in web mapping libraries, and trivial to parse in any language.

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": { "type": "Point", "coordinates": [-94.1, 36.3] },
      "properties": { "name": "Fayetteville" }
    }
  ]
}

GeoJSON limitations

  • Always uses WGS 84 (EPSG:4326) — no other CRS supported per spec
  • Large files are slow to parse and transmit
  • No built-in styling

When to use each

| Use case | Format | |----------|--------| | Sharing data with enterprise GIS teams | Shapefile | | Web mapping (Leaflet, Mapbox, etc.) | GeoJSON | | Government data portals | Shapefile | | APIs and programmatic access | GeoJSON | | Long-term archival | GeoPackage (better than both) |

Converting between them

geodata.plus converts Shapefile ↔ GeoJSON instantly, with automatic CRS detection and reprojection to EPSG:4326 when needed.

shapefilegeojsonformatsgis