TopoJSON to GeoJSON Converter
Reconstruct standard spatial vectors from compact TopoJSON files.
Decompress modern TopoJSON files into standard, fully-expanded GeoJSON format. This tool processes shared lines and boundaries to reconstruct separate, individual polygon shapes.
Drag file here to convert, or select file
Supported file extension: .geojson, .json • Max 50MB
Specification Rules
- Export web maps and regional boundary files into standard GIS tools
- Convert localized boundary datasets for visual rendering
- Import lightweight map models into desktop analysis systems
- Expanded output files will contain duplicate coordinate lines
- Conversion increases overall file sizes when working with many shared lines
- Requires explicit file validation to ensure accurate decoding
GDAL Direct Equivalent Terminal Command
When to use this conversion
Convert when a TopoJSON file (often a D3.js example or a Felt export) needs to feed a Leaflet, Mapbox, or MapLibre map that doesn't consume TopoJSON natively. The conversion reconstructs full GeoJSON geometries by following arc references.
Technical Details
GeoJSON is typically 2–6× the size of the source TopoJSON, depending on how many shared boundaries the source dataset had. Adjacent polygon datasets (country borders) see the largest blow-up.
Common Errors & Fixes
- Quantisation loss visible at high zoom: precision was set too low in the source. Fix: regenerate the TopoJSON with a higher quantisation factor (1e6 or more).
- Object name not picked up: TopoJSON's objects map has multiple entries; the wrong one was converted. Fix: name the layer explicitly when calling topojson.feature().
- Properties missing: the source TopoJSON didn't include feature properties. Fix: check the source build pipeline.
- Output huge: the savings disappear after decompression — this is expected. Fix: if you wanted small output, keep the TopoJSON and decode in the browser at render time.
Alternative Tools
- topojson-client (npm): topojson.feature(topology, topology.objects.<name>)
- mapshaper.org: drag the .topojson in, export as GeoJSON
- QGIS: open .topojson, export as GeoJSON
- ogr2ogr CLI: ogr2ogr -f GeoJSON output.geojson input.topojson
Frequently Asked Questions
What is the difference between TopoJSON and GeoJSON?
TopoJSON encodes sharing boundaries, eliminating redundant coordinates. GeoJSON maps shapes independently, causing redundant lines in adjacent shapes.
How are properties handled during conversion?
Attributes and non-spatial variables remain linked to the respective features in the output file.
Are coordinates reprojected during this translation?
By default, coordinate systems are kept as-is, but you can apply standard projection properties.