TopoJSON Validator
Validate a TopoJSON file for topology structure, arc definitions, and object geometry references.
Upload a TopoJSON file to inspect its topology structure. The GDAL validator checks for the mandatory 'type: Topology' declaration, the presence of the arcs array, valid transform and scale properties, correctly indexed geometry references within objects, and proper bounding box (bbox) declarations. Object names, geometry counts, and detected geometry types within each object are reported.
Drag file here to validate, or select file
Supported: .json, .topojson • Max 50MB
What We Validate
- Root object 'type' equals 'Topology' (mandatory declaration)
- Presence and structural validity of the 'arcs' coordinate array
- Transform object presence (scale and translate properties)
- Object member names and geometry type declarations
- Arc index references within geometry objects (no out-of-bounds indices)
- Bounding box (bbox) array format if present
Common Issues Detected
- Missing root 'type: Topology' declaration
- Arc index references exceeding the length of the arcs array
- Missing or malformed 'transform' object with scale/translate arrays
- Empty 'objects' member with no named geometry collections
- Invalid JSON syntax in nested arc coordinate arrays
Frequently Asked Questions
What is the difference between TopoJSON and GeoJSON?
GeoJSON stores each geometry independently, duplicating shared boundaries. TopoJSON encodes shared boundaries as arcs and references them from multiple geometries, reducing file size significantly for adjacent polygon datasets.
Does the validator check arc index correctness?
Yes. Each geometry object references arc indices from the root arcs array. The validator confirms that no index exceeds the bounds of the arc array, which would cause rendering errors.
Can I validate a TopoJSON exported from D3.js or QGIS?
Yes. TopoJSON files exported by standard tools like the topojson-server npm package, QGIS, or Mapshaper follow the TopoJSON specification and can be validated here.