Convert GeoJSON to Shapefile
Free, private and fast: everything runs in your browser and your GeoJSON file is never uploaded.
GeoJSON to Shapefile: why convert
GeoJSON comes out of web maps, APIs, geojson.io and JavaScript code, but desktop GIS workflows, government agencies and many clients still ask for an Esri shapefile. This converter writes a shapefile set you can add to ArcGIS Pro, QGIS or AutoCAD Map 3D straight away. It deals with the parts of the format that usually cause trouble: one geometry type per file, field names of at most 10 characters, the .prj file with the coordinate system and the text encoding of the attribute table. You can reproject on the way, for example to a UTM zone or a State Plane system, so the shapefile is ready for measuring in meters or feet. Everything runs in your browser with GDAL.
How to convert GeoJSON to Shapefile
- Drop your .geojson or .json file in the box, or click to choose it.
- Optionally enter an output coordinate system, such as EPSG:32618 for UTM zone 18N.
- Click Convert and download a .zip with the shapefile parts.
What changes when you convert
Long property names are shortened
GeoJSON property names can be as long as you like, but the shapefile's .dbf table allows only 10 characters. GDAL cuts longer names and keeps them unique, so description_long becomes descriptio, population_2020 becomes population and population_2021 becomes populati_1. Rename the properties before converting if the column names matter to the people receiving the file.
Mixed geometries become several shapefiles
One GeoJSON file can hold points, lines and polygons together; a shapefile cannot. You get one shapefile per type, such as parks_points.shp, parks_lines.shp and parks_polygons.shp, in one .zip. Multi-part features go with their type. A feature whose geometry is a GeometryCollection or null cannot be stored in any shapefile and is left out; the message after converting says how many.
Nested values, true/false and dates
The .dbf table knows text, numbers and dates, nothing else. Nested objects and arrays are written as JSON text, true and false become 1 and 0, and plain dates such as 2024-05-01 become real date fields. A date with a time of day is kept as text, because a .dbf date field cannot hold the time. Text longer than 254 characters is cut off.
The coordinate system and the .prj file
Standard GeoJSON is WGS84 longitude and latitude, so by default the shapefile is written in WGS84 (EPSG:4326) with a matching .prj. Enter a projected system to get coordinates in meters or feet. Older GeoJSON files that declare a different system in a "crs" member are read in that system, and the shapefile keeps it unless you choose another.
Special characters
Attribute text is written as UTF-8, and a .cpg file says so, which ArcGIS and QGIS both read. Names with characters like ü, é or ñ display correctly. Old programs that ignore the .cpg file may show them wrongly.
About the formats
GeoJSON
GeoJSON is a plain-text JSON format for geographic features, standardized as RFC 7946 in 2016. It is the native format of web maps such as Leaflet, MapLibre and Mapbox, and of many APIs.
- Coordinates are WGS84 longitude, latitude (in that order).
- Points, lines and polygons can be mixed in one file.
- Properties can be any JSON value, with no limit on field name length.
Shapefile
The Esri Shapefile is the most widely used GIS vector format. A single "shapefile" is really a set of files with the same name: .shp holds the geometry, .shx an index, .dbf the attribute table, and the optional .prj the coordinate system and .cpg the text encoding.
- Needs at least .shp, .shx and .dbf. Upload them together or as one .zip.
- Field names are limited to 10 characters and text values to 254 characters.
- Each shapefile holds one geometry type only: points, lines or polygons.
- Without a .prj file the coordinate system is unknown.
Frequently asked questions
Which files are in the zip?
For every geometry type in your data you get .shp, .shx, .dbf, .prj and .cpg files with the same name. Keep them together in one folder; GIS programs need at least the first three.
Why did I get three shapefiles instead of one?
Your GeoJSON mixes points, lines and polygons. A shapefile can only hold one of them, so the converter writes one shapefile per type instead of dropping data.
Can I keep my long field names?
Not in a shapefile, the 10-character limit is part of the format. GeoPackage has no such limit and opens in QGIS and ArcGIS Pro, so it is worth asking whether the recipient accepts it.
Does it accept .json files?
Yes, as long as the content is GeoJSON, such as a FeatureCollection, a single Feature or a bare geometry.
Is my GeoJSON uploaded?
No. The shapefile is written by your browser on your own computer. No data leaves it.