GeoJSON to TopoJSON
LocalFree GeoJSON to TopoJSON converter in your browser — shared arcs, smaller files, adjustable quantization, no upload, no sign-up.
Sample data loaded — click "Convert to TopoJSON" to try it.
Quantization rounds coordinates onto a normalized integer grid of this size (Mapshaper -quantization semantics). Grid step = data extent / (quantization − 1): the larger the factor, the better the precision and the lower the arc-sharing/compression.
Output coordinates are quantized at 1e5 (≈0.00001°, ≈1.1 m at the equator) to improve arc sharing and compression — mind this precision loss for survey-grade coordinates.
What is it? GeoJSON to TopoJSON converts GeoJSON to TopoJSON, which stores shared boundaries once and therefore produces smaller files. The quantization factor is adjustable (Mapshaper -quantization semantics, default 1e5) and the grid step is disclosed against your data's actual extent; malformed coordinates fail loudly instead of silently producing an invalid TopoJSON. Everything runs locally in your browser — nothing is uploaded and no account is needed.
TL;DR: Convert GeoJSON to compact TopoJSON — shared arcs, adjustable quantization, no upload.
How to use
- Paste your GeoJSON into the input box (a sample is preloaded) or drop/select a .geojson/.json file — the input renders on the map preview so you can eyeball shared edges.
- Optionally adjust the quantization factor (default 100000).
- Click "Convert to TopoJSON".
- Copy or download the .topojson file.
FAQ
Why TopoJSON?
Shared topology is stored once, so multi-polygon datasets are much smaller.
What does quantization cost me?
Coordinates are rounded onto a normalized integer grid; the grid step equals your data extent / (quantization − 1) and the result area reports it in degrees and equatorial meters — the same factor displaces a wide-extent dataset more than a small one.
Is it local?
Yes.
My file is .json, not .geojson — does it work?
Yes — GeoJSON is JSON, so any .json file containing a valid GeoJSON FeatureCollection or geometry converts. JSON that is not GeoJSON fails loudly instead of producing an empty TopoJSON.
TopoJSON vs GeoJSON — what actually changes?
Nothing geometrically: GeoJSON repeats every shared boundary in each polygon, while TopoJSON stores each arc once and references it, so multi-polygon datasets (admin boundaries, parcels) shrink most. Coordinates are rounded onto a quantization grid (default 1e5, adjustable) — single-geometry files gain little, which is what the topological-vs-plain difference boils down to.
My GeoJSON is too bulky for a web map — will this help?
Usually yes when polygons share boundaries — arcs are deduplicated and coordinates quantized, so file size drops. If the data has few shared edges, run geojson-simplify first (or set a coarser quantization) — the size win then comes from geometry, not topology.
Do I need mapshaper or Python?
No — this runs entirely in your browser with nothing to install or upload. mapshaper remains the more complete tool (simplification, projection, joins); this page is the zero-setup path when you only need the GeoJSON→TopoJSON conversion with quantization control.
Examples
- Paste GeoJSON → get TopoJSON
Supported formats
Limitations
- Requires consistent topology in the input.
- Attributes are preserved as-is.
- Quantization is user-settable (default 1e5): larger factors keep more precision and share fewer arcs; the grid step is disclosed per input extent.
- Malformed coordinates (null/NaN/non-numeric/empty arrays) are rejected loudly before conversion — no invalid TopoJSON is produced.
Privacy
Privacy first: this tool runs entirely in your browser — your input and files never leave your device, and everything is cleared when you close the page.