// the find
mbloch/mapshaper
Tools for editing Shapefile, GeoJSON, TopoJSON and CSV files
Mapshaper is a battle-tested CLI and web tool for processing geographic vector data — simplifying, clipping, dissolving, reprojecting, and converting between Shapefile, GeoJSON, TopoJSON, FlatGeobuf, GeoParquet, and more. It's the go-to tool for cartographers and data journalists who need to wrangle map data without writing custom code. The web UI at mapshaper.org is genuinely good for one-off tasks; the CLI is what you want in build pipelines.
The command language is surprisingly expressive — you can chain operations, use JavaScript expressions in `-each` filters, and script complex workflows in a single pipeline without dropping into code. Large file support is handled pragmatically: incremental parsing for GeoJSON/CSV/SHP means files well over 1GB work fine from the CLI, and `mapshaper-xl` gives you a simple escape hatch for heap pressure. Format coverage is unusually broad — GeoParquet and FlatGeobuf alongside the classics means it stays relevant as the ecosystem shifts away from Shapefile. The web UI processes entirely in-browser, so sensitive geodata never leaves your machine — a real practical advantage for government and enterprise work.
The 2GB single-file output cap will bite you if you're generating large GeoJSON for downstream processing — it's a hard limit, not a soft one. Topology-aware operations (dissolve, union) can be slow on dense datasets because the topology model loads everything into memory; there's no streaming equivalent for those commands. The GUI codebase is enormous (~100 source files) but has essentially no automated browser tests beyond a handful of Playwright smoke tests — the undo/redo implementation in particular has its own feasibility monitoring scripts, which suggests it's fragile. Raster support (GeoTIFF import) is listed as in-development with its own design doc still in the repo, so don't count on it for production raster workflows.