webGeoDS webGeoDS
  • Home
  • Tools
    • All tools

    • Inspect
    • Validate
    • Check Topology
    • CRS
    • Buffer

    • Inspect
    • Calculate
    • NDVI
    • Viewshed

    • Cluster
    • Classify

    • Build Graph

    • Interpolate
    • Fill Gaps
  • Articles
    • All articles

    • Inspect
    • Validate
    • Check Topology
    • CRS
    • Buffer

    • Inspect
    • Calculate
    • NDVI
    • Viewshed

    • Cluster
    • Classify

    • Build Graph

    • Interpolate
    • Fill Gaps
  • About

Topology Checker

tool
geometry
Upload a GeoJSON or a Shapefile and check it for the five recurring topology errors — overlap, gap, sliver, duplicates, dangle. Free, runs entirely in your browser: the file never leaves your computer.
Published

September 3, 2026

Upload a file — .geojson, or a shapefile as a single .zip or as .shp/.dbf/.shx selected together — and find out whether any feature overlaps, leaves a gap, is a sliver, duplicates another, or (for lines) dangles unconnected.

Tip

Private by design. Your file is processed entirely in your browser (Python via WebAssembly) — it’s never uploaded to any server, including ours. Nothing to configure, nothing to trust: the code never gets the chance to see your data.

This is diagnosis only, not repair — fixing a topology error almost always requires a human decision (see the full article for why), so there’s no “Fix” step here, just the report and a map to inspect it on.

The code itself isn’t shown here — it’s a fixed, non-editable check using GeoPandas/Shapely underneath; see the full article for the actual code, editable and explained one check at a time.

Gap and sliver aren’t absolute properties of a dataset — they depend on a judgment call. Sliver threshold (compactness, 0-1): how thin counts as “not a real shape” — lower catches only thinner slivers. Gap search distance (degrees): how close two features need to be before a gap between them counts — larger finds gaps further apart.

First run loads the Python engine — expect about a minute. Instant after that, and again each time you come back to this page.

Want to understand each of the five errors, see the actual code, or compare against R’s independent implementation? The full article covers all of it, with a worked example for each one.