TopoJSON to GeoJSON Converter reverses TopoJSON encoding so you can use the data in the many tools that only read plain GeoJSON. It rebuilds each geometry by stitching together the topology’s shared arcs, undoing the delta encoding, and applying the transform to restore real-world coordinates — entirely in your browser with nothing uploaded.
How it works
A TopoJSON topology stores all line segments once in a global arcs array and references them by index from each geometry. Decoding reverses three encoding steps:
- Un-delta. Each arc lists its first point absolutely and every subsequent point as an offset from the previous one. The decoder accumulates these offsets to recover absolute integer coordinates.
- Transform. If the topology has a
transform, each integer pointpbecomespoint = p * scale + translate, converting the quantized grid back to longitude and latitude. - Arc stitching. A geometry’s
arcsare arrays of arc indices. A positive indexiuses arciforwards; a negative index uses arc~i(which is-i - 1) reversed. The decoder concatenates the arcs, dropping the duplicated shared vertex where one arc ends and the next begins.
Tips and notes
Polygons in TopoJSON are arrays of rings, and MultiPolygons are arrays of those — the decoder rebuilds the full nesting so the output matches the GeoJSON spec. Properties attached to each topology geometry are copied onto the resulting GeoJSON feature. Use the companion GeoJSON to TopoJSON tool to compress data, and this one to decode it back whenever a downstream tool needs GeoJSON.