GeoJSON Topology Auditor

GeoJSON Topology Auditor

Find polygon interior overlap and ring errors. Nearby separated boundaries are reported as candidates for review.

1. GeoJSON input

FeatureCollection, Feature, Polygon and MultiPolygon are supported. Coordinates are longitude then latitude; an optional altitude ordinate is ignored in the audit.

0–1 decimal degree, not meters. Zero skips near-gap and narrow-polygon candidates.

Comments & questions

GeoJSON Topology Auditor

Check how GeoJSON regions meet or overlap, and locate ring closure, crossing and hole errors by original feature, polygon, ring and edge number. A narrow separation within your tolerance is a gap candidate, not a proven missing coverage region. All calculations run locally without map tiles or an external API.

Key features

  • RFC 7946 Polygon and MultiPolygon input with 2D longitude–latitude and an optional ignored third altitude ordinate
  • Open, short or zero-area rings, zero-length edges, self-intersections and hole containment/overlap diagnostics
  • Separate confirmed interior overlap from an exactly shared boundary
  • Candidate gaps between nearby parallel edges and narrow sliver warnings under a degree tolerance
  • SVG, CSV and JSON reports containing original feature, part, ring and edge indexes plus coordinates
  • Strict JSON parsing and local limits of 120 KB, 32 features and 800 coordinates

How to use

  1. Paste a Polygon or MultiPolygon GeoJSON object or choose a local file. The example exercises overlap, a possible gap and self-intersection.
  2. Choose a near-boundary tolerance from 0 to 1 degree. Zero disables near-gap and narrow-polygon warnings.
  3. Run the audit and distinguish confirmed errors, warnings and shared-boundary information.
  4. Select an issue to highlight its map marker and use its feature/polygon/ring/edge indexes to edit the source.
  5. Save the report as local JSON or CSV, or save the diagnostic map as SVG.

Use cases

  • Find open rings and self-intersections before publishing region GeoJSON
  • Distinguish true overlap from a precise shared administrative boundary
  • Review narrow candidate gaps between parallel boundaries and sliver polygons
  • Check the parts of a MultiPolygon and placement of interior holes

Frequently asked questions

Does a gap candidate prove an uncovered region?

No. Without an expected outer coverage boundary, complete missing-area coverage cannot be proven. The tool only identifies a vacant point between near-parallel outer edges.

What are the tolerance units?

Decimal degrees of longitude and latitude. The tool does not convert to meters; ground distance varies by latitude. Use it for preliminary checks of small regions, not cadastral or legal boundary decisions.

How do overlap and shared boundary differ?

An overlap requires evidence that the interiors of both regions occupy the same point. If they share a collinear edge but their interiors remain separate, the tool reports shared-boundary information.

Are holes and MultiPolygons included?

Yes. The first ring is the outer boundary and later rings are holes; every MultiPolygon part is checked. Point, LineString and GeometryCollection inputs are rejected explicitly.

Is this exact across the antimeridian and polar regions?

No. It uses planar longitude–latitude calculations, warns about possible antimeridian-spanning edges, and is not a full geodesic or projected topology engine.

Are my files uploaded?

No. The chosen file and coordinates stay in this browser tab. JSON, CSV and SVG files are created locally only when you request a download.

Privacy

GeoJSON coordinates and files are processed only in this browser tab. There are no uploads, external map tiles or automatic persistence.

References

Related Tools

JSON FormatterGeometry Construction LabSVG Path EditorWasm Module InspectorHreflang Matrix CheckerAST Query PlaygroundContainer Build GraphDependency Graph ExplorerSemver Range LabCron Schedule AuditorPatch Review WorkbenchSource Map ExplorerLocalization Catalog AuditorStructured Data ReviewerHTTP Archive AnalyzerWebhook Signature LabProtobuf Schema WorkbenchGraphQL Schema LabAvro Schema EvolutionLocal SQL WorkbenchSchema Form BuilderMesh Repair WorkbenchPipe Network LabRobot Arm Kinematics LabThermal Network LabBeam Response LabGear Train DesignerTolerance Stackup LabSensor Calibration FitPCB Stackup PlannerDigital Filter DesignerNetwork Reachability MapSun Shadow MapGPS Error SimulatorDigital Logic SimulatorAnalog Circuit LabMechanism Linkage LabAnalysis Mesh GeneratorOpenAPI Contract InspectorDatabase Migration PlannerDimensional Equation CheckerTruss Force LabBoolean Minimization LabControl Response LabQueueing Simulation LabGeofence Event SimulatorCoordinate Reference LabSurvey Traverse LabRaster Classification LabChoropleth Design LabMap Print ComposerRaster Reprojection LabElevation Contour MakerTerrain Viewshed LabWatershed DelineatorMap Tile PackagerText File Encoding WorkbenchFilesystem Portability AuditorSBOM License ExplorerFile Signature Auditornpm Lockfile Conflict ResolverSource Secret AuditorOffline Web Package BuilderCertificate Chain InspectorTorrent Metainfo InspectorChunked File PackagerEncrypted File VaultDuplicate File FinderArchive WorkbenchDesign Token ManagerSpacing Token DesignerResponsive Type SystemPackaging Dieline DesignerSVG Icon Sprite PackerFlex Layout PlaygroundCSS Grid PlaygroundRegex Equivalence LabMarkdown Repository AuditorLog Template MinerResponsive Layout AuditorEmail Template PreviewInternal Link GraphState Machine TesterPetri Net SimulatorGit History VisualizerCurl Request WorkbenchBinary Protocol DesignerHex File EditorBinary Patch WorkbenchFile Signature WorkbenchAPI Mock SandboxSchema Column MapperEvent Log SessionizerER Diagram DesignerTime Series Gap AuditorStratified Data SplitterData Lineage DesignerDecision Tree LabData Anonymization WorkbenchData Expectation RunnerJSON Schema ValidatorBasket Pattern AnalyzerRobots Policy TesterSEO HTML AuditorAccessibility Structure AuditorSyndication Feed WorkbenchIndexNow Payload BuilderCrawl Log AnalyzerCSP Policy WorkbenchSearch Performance AnalyzerCSV Formula Risk AuditorCORS Response SimulatorCache Header LabCookie Policy InspectorWeb Vitals Trace LabSitemap Health AuditorBatch File RenamerFile Manifest VerifierFolder Space MapFolder Difference ReviewerRoute Order OptimizerGeoJSON Map EditorPolygon Overlay LabCartographic Label PlacerSpatial Table JoinGPX Track AnalyzerTrack Privacy RedactorCSV Table JoinCSV Pivot WorkbenchScientific Data ProfilerTabular Cleaning WorkbenchRecord ReconciliationData Dictionary BuilderCanonical Graph AuditorRedirect Plan TesterHTTP response and ping reference testBrowser and System InformationJSON ↔ YAML ConverterXML ↔ JSON ConverterHTML FormatterJavaScript MinifierMock Data Generator.gitignore GeneratorLicense GeneratorUser-Agent ParserPassword Strength CheckerCode to ImageXML FormatterHTTP Status Code LookupMIME Type LookupJS & SQL String EscapeCSS Box Shadow GeneratorCSS Gradient GeneratorIndent ConverterNumber Base ConverterUnicode Escape ConverterUnicode InspectorJSON Structure DiffMarkdown Table GeneratorBase64 EncoderURL EncoderSQL FormatterCron Expression GeneratorRegex TesterUUID GeneratorHash GeneratorTimestamp ConverterJWT DecoderHTML Entity ConverterMarkdown PreviewCSS MinifierMeta Tag GeneratorJSON ↔ CSVCase ConverterImage to Base64
Explore all Dev Tools tools →Image/Media →Text/Convert →Life/Fun →