Skip to main content
Vecaria

GeoJSON to TopoJSON

Local

Free 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.

Map preview (MapLibre, geometry rendered locally; CARTO basemap tiles fetched over the network)

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

  1. 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.
  2. Optionally adjust the quantization factor (default 100000).
  3. Click "Convert to TopoJSON".
  4. 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

GeoJSONTopoJSON

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.