Shapefile to GeoJSON Converter

Convert an ESRI shapefile to GeoJSON for Leaflet, MapLibre, Mapbox or any web app. Reprojected to WGS84 and never uploaded.

100% in your browserNo upload, no sign-upAttributes preservedChoose the output CRS
Drop your SHP file here or click to choose

Select a .zip, or pick the .shp, .dbf, .shx and .prj files together. Up to 20.0 MB.

Your file never leaves your device. Nothing is stored on any server.

Web maps built with Leaflet, MapLibre, Mapbox GL, OpenLayers or Google Maps load GeoJSON, not shapefiles. This converter takes a zipped shapefile, reads its projection, reprojects to the WGS84 coordinates GeoJSON requires and writes a FeatureCollection with every attribute preserved. Text is decoded using the .cpg file, so names in any language come through correctly.

How to convert SHP to GeoJSON

Drop a .zip with the shapefile, or select the .shp, .dbf, .shx and .prj files together. The map preview and attribute table show the data.

Confirm the feature counts and fields. Nothing else needs configuring: GeoJSON is always WGS84.

Click Convert and download the .geojson. Load it in your web map, commit it to GitHub, or open it in QGIS.

What is a Shapefile?

The ESRI Shapefile is the most widely supported vector format in GIS. A "shapefile" is really a set of files with the same base name: .shp holds the geometry, .shx the index, .dbf the attribute table, .prj the coordinate system and .cpg the text encoding. Each shapefile stores a single geometry type, which is why a mixed KML becomes several shapefiles.

What is a GeoJSON file?

GeoJSON is a JSON-based format for geographic features, defined in RFC 7946. It is the native format of web mapping libraries such as Leaflet and MapLibre and is supported by QGIS, ArcGIS, PostGIS and most modern tools. Coordinates are always longitude/latitude in WGS84.

Why use this converter

Reads the .prj and reprojects

UTM and other projected shapefiles are transformed to WGS84 longitude/latitude, the only coordinate system RFC 7946 GeoJSON allows, so the layer lines up with web basemaps.

Attributes are preserved

Attributes are preserved: placemark names, ExtendedData fields and even the key/value tables that Google Earth hides inside HTML descriptions are written as columns.

Correct text encoding

The .dbf is decoded using the .cpg codepage when present, otherwise as UTF-8, so accented, Cyrillic, Chinese or Indonesian text is not garbled.

Nothing is uploaded

Everything runs in your browser. Your files are never uploaded, so confidential survey, cadastral or forestry data stays on your computer.

Frequently asked questions

Are the attributes from the .dbf kept?

Yes. Every column becomes a property on each feature, with numbers as numbers, dates as ISO strings and text decoded according to the .cpg file. If the ZIP contains more than one shapefile, a layer property records which one each feature came from.

What coordinate system does the GeoJSON use?

WGS84 longitude/latitude (EPSG:4326), as required by the GeoJSON specification. The converter reads the .prj to transform from UTM, national grids or other projections. If the .prj is missing, the coordinates are assumed to be WGS84 already and a warning is shown.

Can I combine several shapefiles into one GeoJSON?

Yes. Put them in one ZIP and every shapefile becomes part of the same FeatureCollection, with a layer property identifying the source. Points, lines and polygons can coexist in GeoJSON.

Is the shapefile to GeoJSON converter free? Is the shapefile uploaded?

It is free and nothing is uploaded. The ZIP is unpacked and converted in your browser using JavaScript, so private datasets stay on your computer.

Will the GeoJSON open in QGIS, ArcGIS and web libraries?

Yes. The output is a standard FeatureCollection that opens in QGIS, ArcGIS Pro, geojson.io, Leaflet, MapLibre, Mapbox GL, OpenLayers, Turf.js and renders directly on GitHub.

How big will the GeoJSON be?

Usually larger than the shapefile because JSON is text and every coordinate is written in full precision. For very large layers consider simplifying the geometry in QGIS before converting.