Skip to content

Convert Shapefile to GeoJSON

1

Add your Shapefile

Drop a shapefile anywhere on this page

.zip · it never leaves the browser

2

Options

Only needed when the archive has no .cpg and text looks wrong.
≈ 11 cm on the ground
Keep every vertex
00verticesunchanged
3

Your GeoJSON

Add a shapefile and the GeoJSON appears here, with its feature counts and anything this pair cannot carry.

Converted in this tab. Your Shapefile is never uploaded — reading, converting and writing all run in the browser, so this works offline once the page has loaded.
— , —
FidelityShapefileGeoJSON

What comes across, and what cannot

Preserved

  • Geometry — points, lines and polygons come across coordinate for coordinate; nothing is reprojected, because both sides are WGS84 longitude/latitude.
  • Every attribute survives, with its name intact.
  • Elevation (the Z ordinate) is preserved where the source has one.
  • Feature order is preserved, so a row in the output is the same feature as the row in your input.

Worth knowing

  • Nothing measurable. Both Shapefile and GeoJSON carry geometry and a full attribute table, so this conversion is lossless apart from any coordinate rounding or simplification you ask for.
  • One thing that is not this tool's doing: a .dbf caps field names at ten characters, so truncated names such as POPULATIO arrive that way in the source and cannot be recovered.

Esri Shapefile (zipped)

Not one file but a set — .shp geometry, .dbf attributes, .prj projection, .cpg text encoding — which is why you upload the whole thing as a .zip. Field names are capped at ten characters and the .dbf has no Unicode of its own.

.zip · application/zip

GeoJSON (RFC 7946)

The web's lingua franca for vector data: plain JSON, WGS84 longitude/latitude, every geometry type, and an untyped property bag per feature. It carries no styling — colour and symbology belong to the map, not the file.

.geojson · .json · application/geo+json

HowHow it works

Convert Shapefile to GeoJSON, step by step

  1. Step 1

    Add your Shapefile

    Drop a shapefile anywhere on the page, paste it, point at a URL, or press Sample to start from real data. Several files at once are fine.

  2. Step 2

    Set what matters

    Coordinate precision and simplification on every pair, plus the handful of settings this one needs — the .dbf text encoding.

  3. Step 3

    Take the GeoJSON

    Read the feature counts and the warning list, then download, copy, or open the result in the Spatly studio to style and publish it.

PrivateRuns in your browser

Your data never leaves the page

Every conversion, measurement and export happens client-side. Nothing is uploaded, logged or stored — you can even use this offline once the page has loaded. Only “Open in Studio” sends data, and only after you sign in.

Go furtherTurn a GeoJSON into an interactive mapRead the guide
FAQQuestions

Good to know

What is preserved when converting Shapefile to GeoJSON?
Geometry — points, lines and polygons come across coordinate for coordinate; nothing is reprojected, because both sides are WGS84 longitude/latitude. Every attribute survives, with its name intact. Elevation (the Z ordinate) is preserved where the source has one. Feature order is preserved, so a row in the output is the same feature as the row in your input.
What is lost converting Shapefile to GeoJSON?
Nothing measurable. Both Shapefile and GeoJSON carry geometry and a full attribute table, so this conversion is lossless apart from any coordinate rounding or simplification you ask for. One thing that is not this tool's doing: a .dbf caps field names at ten characters, so truncated names such as POPULATIO arrive that way in the source and cannot be recovered.
Do I upload the .shp on its own?
No — zip the whole set and drop the .zip. A shapefile is at least a .shp, a .shx and a .dbf; without the .dbf you get geometry with no attributes, and without the .prj the coordinates are assumed to be WGS84 already.
My Turkish, Greek or Cyrillic field values come out as mojibake.
That is the .dbf's text encoding. If the zip has no .cpg file the reader cannot know it, so set the encoding hint in step 2 — windows-1254, ISO-8859-9, windows-1251 and UTF-8 are all offered — and the attribute table is re-read with it.
Is the shapefile reprojected?
Yes, when a .prj is present: coordinates are transformed to WGS84 longitude/latitude, which is what GeoJSON expects. A shapefile with no .prj is taken as already being in WGS84.
Is the GeoJSON valid RFC 7946?
Yes: a single FeatureCollection, coordinates as [longitude, latitude], no CRS member — the RFC dropped it and mandates WGS84. Use the GeoJSON editor afterwards if you also want winding order and ring closure checked.
Is my file uploaded anywhere?
No. The Shapefile is read, converted and written entirely inside this page — there is no upload, no queue, no server-side copy and no size limit imposed by a plan. Large files are parsed in a background worker so the page stays responsive. The only action that transmits anything is Open in Studio, and that happens after you sign in and press it.
Is there a limit on file size or number of files?
There is no imposed limit; the practical ceiling is your browser's memory. Files over about 5 MB are handed to a web worker so the interface keeps responding, and you can drop several files at once — each is converted separately and the set can be downloaded as one zip.