Convert a file
Home › Shapefile converter › GeoJSON to Shapefile
GEOJSONSHP

GeoJSON to Shapefile converter

The API gave you GeoJSON. The agency asked for a shapefile. This GeoJSON to Shapefile converter rebuilds your features as the full multi-file set that desktop GIS and many agencies still request. A colleague can open the result in ArcGIS, QGIS or MapInfo.

Nothing uploadedGDAL engineReviewed

Drop a file, or click to browse

KML, KMZ, SHP (.zip), GeoJSON, GPKG, GML, GPX, DXF, CSV, Excel, and more

Nothing uploadedGDAL engineWorks offlineNo account

No GeoJSON file to hand? Download a sample GeoJSON file (100 points) and drop it above to see the conversion.

How to convert GeoJSON to Shapefile

  1. Drop the .geojson or .json file onto the converter box.
  2. Check your property names against the 10-character rule before you convert.
  3. Choose Shapefile and convert, then download the zip holding .shp, .shx, .dbf, .prj and .cpg.

What changes when you convert GeoJSON to Shapefile

WhatGeoJSON → Shapefile
GeometryChangesPoints, lines and polygons are all carried over, but a Shapefile holds a single geometry type per file. A layer that mixes types is written one type at a time.
AttributesChangesEvery column is kept, but the Shapefile .dbf caps field names at 10 characters, so long names are shortened (values are untouched).
Styling & labelsKeptNeither GeoJSON nor Shapefile stores visual styling, so there is nothing to lose. Geometry and data carry straight over.
Coordinate systemKeptGeoJSON is always WGS84, and that is what the output records in its .prj file unless you choose another EPSG code.
Elevation (Z)Kept3D Z values carry from GeoJSON into Shapefile wherever the source records them.
File structureChangesA working Shapefile is several files, so you download one .zip holding .shp, .shx, .dbf, .prj and .cpg. Keep them together.

Why convert GeoJSON to Shapefile?

GeoJSON runs the modern web stack: it is what Leaflet and Mapbox GL render and what most web APIs return, while desktop GIS, GeoServer and a long tail of agency templates still speak shapefile. The usual trigger is a handoff, such as boundaries pulled from an API that a colleague needs inside ArcGIS or MapInfo, or a delivery spec that names the format outright. The shapefile remains the exchange format desktop tools agree on, which is why a project often ends with this conversion even when every earlier step ran on JSON.

Coordinate system handling

The input side is fixed by the specification, since RFC 7946 allows WGS84 longitude and latitude and nothing else, and a stray projected file from before that rule is best repaired in QGIS before it reaches the tab. The output side is a choice: left alone the shapefile ships in the same WGS84, and an EPSG code entered before converting reprojects the geometry on the way out.

Whichever system ships, the .prj in the zip spells it out, which is the part of a shapefile delivery that spares the recipient from guessing. An agency spec that names a grid, State Plane or a national grid for instance, is satisfied by entering that code here rather than reprojecting in a second tool.

What to check when converting GeoJSON to Shapefile

Two rules of the shapefile format shape what you download. Field names stop at 10 characters, so longer property keys are shortened, and two keys that shorten to the same name are renamed to stay unique; the values themselves are never cut. One shapefile also holds a single geometry type, so a FeatureCollection that mixes points, lines and polygons is written as one shapefile per type, packed together inside the one zip you download.

Troubleshooting GeoJSON to Shapefile

  • Some field names look truncated. The .dbf limits field names to 10 characters, and two long keys can collide after shortening, in which case one is renamed to stay unique. Rename long property keys before converting when the exact labels matter; the values are never cut.
  • The file was rejected or read as empty. The parser needs valid JSON, so check for a trailing comma, a byte-order mark at the start of the file, or an export saved as rich text, then convert again.
  • The zip holds more than one shapefile. The source mixed geometry types, and a shapefile holds only one, so points, lines and polygons each got their own file inside the archive. Nothing was dropped; load each one as its own layer.
  • A legacy viewer shows garbled text where accents belong. The download marks its encoding in the .cpg, and current QGIS and ArcGIS releases honor that file, so labels appear correctly there. An older viewer that predates the convention guesses a codepage instead; load the layer in QGIS and re-export with the encoding that viewer expects when one team is stuck on old software.

About the formats

GeoJSON is what a web map or API usually hands you, a single text file holding features and their properties, while a Shapefile spreads the same data across companion parts that desktop tools have read for thirty years. The conversion rebuilds your JSON features as the matching .shp, .shx, .dbf, .prj and .cpg set and zips the parts so the set stays complete.

Frequently asked questions

Can I deliver the shapefile in a projected coordinate system?

Yes, enter the EPSG code before converting and the data is reprojected on the way out. Without a choice the output stays WGS84, and either way the .prj records the system for whoever opens the layer.

My GeoJSON was rejected, so what is wrong with the file?

The file has to be valid JSON holding a FeatureCollection, a single Feature or a bare geometry. A trailing comma or a byte-order mark stops the parser, and so does an export saved as rich text rather than plain text.

Is there an output format without these shapefile limits?

GeoPackage is one file with long field names and room for several layers, so it escapes both shapefile rules. Choose it under more output formats if the recipient accepts it.

Why does the Shapefile download arrive as a .zip archive?

A shapefile is not one file; it needs at least the .shp, .shx and .dbf, plus the .prj for the coordinate system and the .cpg for text encoding. The converter bundles all five so nothing gets separated on the way to a colleague.

Will a FeatureCollection that mixes points, lines and polygons convert cleanly?

Yes, with one twist: a shapefile stores a single geometry type, so the converter writes one shapefile per type and packs them together inside the one zip. Unzip the download and load each layer separately in QGIS or ArcGIS.

What exactly lands in the zip for a plain point collection?

Five parts named after the layer: the .shp with the point geometry, its .shx index, the .dbf holding your properties as columns, the .prj naming the coordinate system that was written, and the .cpg recording the text encoding. Any GIS reads the set as one layer the moment the zip is unpacked.

Related converters

Ready to convert?

Drop a file and download the result in seconds. Nothing is uploaded, nothing is stored.