mapverter

SHP to GeoJSON Converter

Convert a Shapefile to RFC 7946 GeoJSON in your browser. The .prj is used to reproject to WGS 84, and DBF text is decoded from its original encoding.

  1. Add file
  2. Review
  3. Download

Drag your map file here

SHP (zip, or .shp with .shx, .dbf, .prj), KML, KMZ, GeoJSON, GPX, CSV

Free · one dataset at a time · up to 20 MB

Converting several datasets at once?

GeoJSON the way RFC 7946 expects

The output is a single FeatureCollection in WGS 84 longitude and latitude, so the target coordinate system is locked. mapverter reads the .prj, converts every coordinate and rounds it to 7 decimal places, about 1 cm. No crs member is written.

Attributes as JSON values

  • Numeric DBF fields become JSON numbers, and empty numeric values become null.
  • Date fields are written as YYYY-MM-DD text.
  • Text is decoded with the encoding named in the .cpg file or, when there is none, detected from the DBF bytes. The GeoJSON itself is UTF-8.

Several Shapefiles at once

A ZIP that holds more than one Shapefile is merged into one FeatureCollection. Each feature gets a layer property with the name of the Shapefile it came from, and the conversion report mentions the merge.

Frequently asked questions

Why can't I choose a projected coordinate system?
GeoJSON output follows RFC 7946 and is always written in WGS 84 longitude and latitude. Download SHP or CSV if you need projected coordinates.
My Shapefile has no .prj. What happens?
If the coordinates fit longitude and latitude ranges, they are treated as WGS 84 and the report says so. Otherwise you choose the source system from the offered candidates, by clicking your area on the map to try the local UTM zone, or by searching for an EPSG code or name.
Do I need the .shx and .dbf files?
The .shx is optional, because the geometry is read from the .shp itself. Without a .dbf the shapes are still converted, just without attributes, and the report tells you.
Are my files uploaded?
No. The Shapefile is read and converted in your browser and never sent to a server.