Shapefile to GeoJSON Converter
Convert a zipped ESRI Shapefile into a GeoJSON file.
Use this online tool to translate multiple-file legacy ESRI Shapefile ZIP archives into clean, standards-compliant GeoJSON representations. GDAL maps point, line, or polygon geometry layers and fully preserves the accompanying dBASE table (.dbf) attributes.
Drag file here to convert, or select file
Supported file extension: .zip • Max 50MB
Specification Rules
- Visualize legacy GIS database features directly on web maps like Leaflet or Mapbox
- Convert heavy desktop geospatial outputs for lightweight REST API payloads
- Import vector properties into standard JavaScript frameworks
- Extremely large vector sets can result in very heavy client-side JSON documents
- Must include .dbf files to avoid coordinate-only geometries
- Resulting GeoJSON files lack embedded Spatial Indexes by default
GDAL Direct Equivalent Terminal Command
When to use this conversion
Convert when you need to display Shapefile data on a web map (Leaflet, Mapbox GL, MapLibre, OpenLayers) or expose it via a JSON API. GeoJSON is the lingua franca of web mapping and requires no special parsing libraries in the browser.
Technical Details
GeoJSON is typically 3–5× the size of the source Shapefile bundle. The ratio depends heavily on geometry complexity (verbose coordinate text dominates) and attribute size (repeated property keys per feature). Add -lco COORDINATE_PRECISION=6 to cut output size by 30–50% without visible loss.
Common Errors & Fixes
- CRS missing: the .prj sidecar is absent, so coordinates are left in their unknown native system instead of WGS 84. Fix: pass -s_srs explicitly or attach the correct .prj before converting.
- Datum offset of 100–300 m: source uses NAD27 or a regional datum but was treated as WGS 84. Fix: identify the actual source datum and reproject properly with -s_srs and -t_srs.
- Field names cryptic: dBASE-imposed 10-character limit truncated meaningful names. Fix: rename in QGIS before re-exporting, or use GeoPackage instead.
- Output too large: default 15-decimal coordinate precision bloats the file. Fix: add -lco COORDINATE_PRECISION=6 — sub-metre accuracy with 30–50% smaller files.
Alternative Tools
- QGIS: drag the .shp in, Export → Save Features As → GeoJSON with CRS = EPSG:4326
- ogr2ogr CLI: ogr2ogr -f GeoJSON -t_srs EPSG:4326 -lco RFC7946=YES output.geojson input.shp
- Python: geopandas.read_file("input.shp").to_crs(4326).to_file("output.geojson", driver="GeoJSON")
- mapshaper.org for browser-based conversion with topology-aware simplification
Frequently Asked Questions
What happens if my Shapefile has multiple geometry types?
A standard Shapefile supports only one geometry type per layer. GeoJSON allows mixed collections, but standard GIS shape sources strictly isolate points, lines, or polygons. GDAL translates that single layer to a matching FeatureCollection.
Are attribute field names limited after conversion?
The 10-character limit of dBASE attributes is inherited from the source Shapefile. Your output GeoJSON will preserve these exact 10-character field names without adding any changes.
Is there a file size restriction?
Our online translator handles unzipped buffers up to 50MB. For larger municipal databases, we recommend using the local GDAL CLI equivalent listed below.