Convert shapefile to GeoJSON and put classic Esri layers to work in web maps and APIs. The conversion happens in your browser at native-code speed, thanks to a WebAssembly build of GDAL, and involves no upload.
Drop a file here, or click to browse
KML, KMZ, SHP (.zip), GeoJSON, GPKG, GML, GPX, DXF, CSV, Excel, and more
No Shapefile file to hand? Download a sample Shapefile file (100 points) and drop it above to see the conversion.
Every format stores different things, so a conversion is never perfectly loss-free. Here is exactly what carries over when you convert Shapefile to GeoJSON, and what to watch for.
| What | Shapefile → GeoJSON | |
|---|---|---|
| Geometry | Kept | Points, lines and polygons are preserved exactly, including multi-part shapes. |
| Attributes | Kept | Every column and full field name moves from Shapefile into GeoJSON untouched. |
| Styling & labels | Kept | Neither Shapefile nor GeoJSON stores visual styling, so there is nothing to lose, the geometry and data carry straight over. |
| Coordinate system | Changes | GeoJSON is defined in WGS84 (EPSG:4326), so data is reprojected to lon/lat on the way out. |
| Elevation (Z) | Kept | 3D Z values carry from Shapefile into GeoJSON wherever the source records them. |
| File structure | Kept | A single, self-contained .geojson file you can move around on its own. |
The Shapefile rules desktop GIS, but the web speaks GeoJSON. So people convert when they want to move a layer out of ArcGIS or QGIS and onto an actual web map. GeoJSON is one plain-text file that Leaflet, Mapbox GL and OpenLayers read directly, and web APIs pass it around with no extra tooling. For example, you might export parcel boundaries or a road network from a shapefile, then render them in a browser map. GeoJSON also lives happily in Git, so teams can diff and version their features as text instead of tracking a bundle of binary shapefile parts.
Shapefile records its own coordinate system (in a .prj sidecar or embedded metadata), and the converter reads it automatically, so it knows where your data belongs on the globe.
GeoJSON is defined in WGS84 (EPSG:4326), so the output is reprojected to longitude/latitude, exactly what Google Earth and web maps expect. A quick CRS check before you download saves the classic "my Shapefile data is in the wrong place" surprise; the guide on coordinate systems and EPSG codes goes deeper.
Check the coordinate system first. A shapefile carries its CRS in the .prj file, but GeoJSON under RFC 7946 expects WGS84 lon/lat. So confirm the data reprojects to EPSG:4326, or your features will land in the wrong place. Also remember the shapefile clips field names to 10 characters. Those truncated names carry straight into your GeoJSON properties, so rename them if you want readable keys.
Shapefile files typically come out of ArcGIS, QGIS, GeoServer, MapInfo. Once you convert to GeoJSON, the file opens in web maps built on Leaflet, Mapbox GL or OpenLayers, and desktop tools like QGIS. The GeoJSON output follows the standard specification exactly, so those programs read it without any special import settings.
A Shapefile is where most desktop GIS layers live, split across companion files that must travel together. GeoJSON is where web maps want that same data, packed into one readable text file. Converting Shapefile to GeoJSON lifts a parcel, boundary or network layer out of ArcGIS or QGIS and hands it to Leaflet, Mapbox GL or a web API. Geometry and the .dbf attribute table fold into a single JSON structure that browsers parse without a plugin.
Yes. The fields from the shapefile's .dbf become properties on each GeoJSON feature. Note that names longer than 10 characters were already truncated by the shapefile format, so those short keys carry over as-is.
Yes. GeoJSON is the native vector format of Leaflet, Mapbox GL and OpenLayers, so you can add it to a map with no conversion step. Just make sure the coordinates are in WGS84 lon/lat, which those libraries assume.
GeoJSON expects WGS84 longitude and latitude. If your .prj records a projected system such as a UTM zone or State Plane, the coordinates are reprojected to lon/lat as the file is written. Keep the .prj in your upload so the source system is known, otherwise the output may land in the wrong place.
GeoJSON property names have no length limit, but the conversion keeps whatever the .dbf already stored. A column shortened to something like popdens_20 stays that way. Rename the properties afterward in a text editor or QGIS if you want fuller labels.
A GeoJSON file opens in web maps (Leaflet, Mapbox, OpenLayers) and QGIS. Because the output follows the standard specification, any tool that supports GeoJSON will read it without special settings.
No conversion is perfectly loss-free because each format stores different things, but geometry and attributes are preserved; only presentation-level styling (which GeoJSON does not store) is left behind.