Converting GeoJSON to Shapefile packages your JSON features into the classic Esri multi-file set (.shp/.shx/.dbf/.prj) that desktop GIS tools expect.
What is GeoJSON?
GeoJSON is an open, JSON-based format for encoding vector geographic features and their attributes, standardized as RFC 7946 by the IETF.
A GeoJSON document is plain UTF-8 JSON built from Feature and FeatureCollection objects, each pairing a geometry (Point, LineString, Polygon, and their Multi* variants, or a GeometryCollection) with a free-form "properties" object. Because it is human-readable text, it works well with version control, text diffing, and any JSON tooling, and it is the de facto interchange format for web maps and JavaScript libraries such as Leaflet, Mapbox GL, and OpenLayers. Unlike Shapefile it imposes no field-name length limit, mixes geometry types freely within one collection, and stores everything in a single file.
What is Shapefile?
The Shapefile is a widely used vector data format developed and published by Esri, stored as a set of sibling files that share a common base name.
A single "shapefile" is really a bundle: the mandatory .shp (feature geometry), .shx (a shape index for fast seeking), and .dbf (a dBASE table of attributes), usually alongside a .prj (coordinate system) and sometimes a .cpg (attribute encoding). It is the lingua franca of desktop GIS and is read by virtually every tool, from ArcGIS and QGIS to GDAL/OGR. Its age shows in several hard limits: DBF attribute field names are truncated to 10 characters, each file component is capped at 2 GB, every file holds a single geometry type, and attribute types are constrained to what DBF supports (limited-width text, numbers, dates, and booleans).
Why convert GeoJSON to Shapefile?
Shapefile remains the required or default input for many ArcGIS and QGIS workflows, agency data submissions, and legacy analysis tools that cannot read GeoJSON directly. Converting lets you hand web-sourced or API-generated GeoJSON to colleagues and systems built around the Esri ecosystem. It also produces a compact, indexed binary that opens quickly in desktop software.
Coordinate systems
Per RFC 7946, coordinates are longitude/latitude in decimal degrees on the WGS84 datum (EPSG:4326), and the specification removed the older "crs" member, so a compliant GeoJSON file is always assumed to be WGS84. Coordinate order is [longitude, latitude], optionally followed by elevation.
The coordinate reference system lives in the optional .prj sidecar as a WKT (well-known text) string. When the .prj is absent the CRS is genuinely unknown and consumers typically fall back to assuming WGS84, which can silently misplace data that was in another projection.
What to watch out for
- Property names longer than 10 characters are truncated to fit the DBF specification, and truncation can create duplicate column names that get renamed.
- A Shapefile holds one geometry type per file, so a GeoJSON mixing points, lines, and polygons may be split or rejected.
- Long text values can be clipped because DBF string fields have limited width, and nested/array JSON properties do not map onto flat DBF columns.
- The output is delivered as a .zip so the sibling files stay together; a .prj is written declaring WGS84.
How to convert GeoJSON to Shapefile
- Drag your GeoJSON file (.geojson, .json) into the converter above, or click to browse.
- Confirm the source is GeoJSON and choose Shapefile as the output format.
- Optionally pick a target coordinate system (EPSG) to reproject.
- Click Convert and download your Shapefile file. Everything runs in your browser.
Frequently asked questions
- Why do I get a ZIP instead of a single .shp?
- A Shapefile is not one file — it is a set (.shp, .shx, .dbf, and .prj). They are zipped together so nothing gets separated on download.
- What happens to my long property names?
- They are shortened to 10 characters to satisfy the DBF format. If two names collide after shortening, one is automatically renamed.
- My GeoJSON has points and polygons together — will that work?
- Shapefile allows only a single geometry type per file, so mixed collections may need to be separated by geometry before or during conversion.