Accuracy & edge cases

What the validator and fixer actually do in code—and what they will not invent. Use this before treating output as authoritative for legal, engineering, or topology-critical work.

GeoJSON Cloud is optimized for common web-mapping cleanup, not cadastral topology certification. When in doubt, re-check results in QGIS or another full GIS.

Validation & repair rules

Implemented in lib/geojson-validation.ts and exposed by the validator and fixer tools.

Validation and repair rules
RuleBehaviorAuto-fixable
Root typeAccepts FeatureCollection or Feature. A bare Geometry is not accepted by the validator root check until normalized; converters may wrap Geometry into a Feature.Yes
Feature entriesFeatureCollection entries must be Features. Invalid entries are reported as errors and are not auto-fixed.No
Missing geometryFeatures with no geometry produce a warning. Repair drops features without geometry rather than inventing coordinates.No
Coordinate finitenessCoordinates must be nested arrays of finite numbers. Non-numeric structures are errors.No
WGS 84 boundsPositions outside longitude −180…180 or latitude −90…90 are warnings. They are not automatically reprojected.No
Polygon ring lengthRings need at least four positions (including a closing position). Shorter rings are errors and are not invented.No
Unclosed polygon ringsIf the first and last positions differ, the validator reports an error. Repair closes the ring by appending a copy of the first position.Yes
Feature → FeatureCollectionA root Feature is normalized into a one-feature FeatureCollection during validate/repair flows.Yes

Polygon rings & winding

Repair closes rings by duplicating the first position onto the end when open. It does not reverse ring winding to enforce RFC exterior/interior orientation, does not remove spikes, and does not resolve self-intersections. Editor drawing may normalize rings for map display; that is separate from the document-level fixer.

Encoding & Shapefiles

  • KML import strips a leading UTF-8 BOM when present before XML parse.
  • Shapefile attributes depend on the DBF and the browser-side shpjs stack. Corrupt archives, unusual code pages, or missing .shx/.dbf parts can fail or drop attributes.
  • Multi-layer ZIPs are best-effort: prefer one logical layer per archive for predictable FeatureCollections.
  • Projection files (.prj) are not a guarantee of automatic coordinate transformation on import. Use the reproject tool when you know the source CRS.

Intentionally not supported

  • Full topology validation (self-intersections, bowties, coverage topology)
  • Automatic CRS detection from every vendor file without user-supplied source CRS
  • KML NetworkLinks, photo overlays, tours, and full style fidelity
  • CAD formats (DWG/DXF), FileGDB, GeoPackage, and enterprise geodatabases
  • Server-side processing of guest tool files (those run in the browser)
  • Mapshaper-scale simplification / dissolve / clipping pipelines
  • Guaranteed multi-layer Shapefile semantics for every zip layout
  • Encoding miracles for corrupt or unknown code pages in DBF files

For large simplification, dissolve, or topology jobs, see when Mapshaper or desktop GIS is better.