finds.dev

mapbox/geojson-vt

Slice GeoJSON into vector tiles on the fly in the browser

View on GitHub

★ 2,080JavaScriptISCupdated Sep 2026

// the take

geojson-vt slices a GeoJSON blob into vector tiles on the fly, entirely client-side, simplifying geometry per zoom level so large datasets can be rendered without a tile server. It's for mapping/frontend developers building custom visualizations (Mapbox GL JS, Leaflet, OpenLayers, d3) who need to show big GeoJSON files without standing up tile infrastructure.

The getTileRaw API is a genuine zero-copy path — it hands back flat typed coordinate arrays per ring instead of allocating a feature/geometry object graph per tile, which matters once you're paging through thousands of tiles. Tiles above indexMaxZoom are generated lazily on request rather than pre-built, so you're not paying for a full pyramid you'll never render. It ships its own TypeScript types rather than relying on a community @types package, and the tolerance/extent/buffer knobs are simple numeric controls that actually map to visible tradeoffs (detail vs. tile size vs. render cost).

Everything lives in memory — the source GeoJSON and the resulting index — with no streaming or disk-backed mode; the README's own 100MB/5.4M-point demo is fine on a desktop GPU but will stall or crash on memory-constrained mobile browsers. There's no incremental re-tiling: any change to the source data means throwing away the index and rebuilding from scratch, so it only really fits static or batch-refreshed datasets, not live-updating ones. Simplification is lossy by design (tolerance, dropped tiny polygons/lines), which is correct for rendering but means you can't get exact geometry back out of a tile — you have to keep the original GeoJSON around separately if you ever need it. Index construction is synchronous and single-threaded, so building it for a large dataset blocks the main thread; there's no built-in Worker-based or async path, you have to wrap that yourself to keep the UI responsive.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
2,080
Forks
280
Language
JavaScript
License
ISC
Last commit
30 Sep 2026

// nearby

If geojson-vt isn't quite it.

All repos →