Skip to main content
Vecaria

GeoJSON Dissolve Tool

Local

Dissolve GeoJSON polygons into one — merge adjacent or overlapping polygons, remove internal borders, verify on the map. Free, local, no upload.

Sample data loaded — click "Dissolve" to try it.

What is it? GeoJSON Dissolve merges adjacent or overlapping Polygon features into a single polygon, removing internal boundaries and reporting the before/after feature counts (input N → output M) — the browser path for administrative boundary roll-ups and coverage maps. Two algorithms: Standard union (turf boolean clipping — overlapping interiors are truly merged) and Shared-edge merge (TopoJSON-style arc dissolve). The output is geometry only: attributes are dropped, so keep a copy of your source layer.

TL;DR: Dissolve adjacent or overlapping GeoJSON polygons into one — internal borders removed, the summary shows input N → output M, and everything runs locally in your browser with nothing uploaded.

How to use

  1. Paste your GeoJSON FeatureCollection into the input box, or click "or load a file" to pick a .geojson/.json file.
  2. Choose the algorithm: Standard union (turf clipping) or Shared-edge merge (adjacent polygons).
  3. Click "Dissolve" — the summary line reports input N → output M features; compare before/after on the map preview, then copy or download it as a .geojson file.

FAQ

Does it keep attributes?

No. The dissolved output contains bare geometry — all input attributes are dropped. Keep a copy of your source layer before dissolving.

How do I verify the result?

The summary line counts input vs. output features (N → M), and the map preview with "Show original" shows the internal boundaries before and after.

Is it local?

Yes.

Standard union or shared-edge merge — which one do I need?

Standard union uses turf boolean clipping and truly merges overlapping interiors — pick it when polygons overlap or you need one exact outer boundary. Shared-edge merge dissolves only the shared edges between adjacent polygons (TopoJSON-style arcs, quantized at ≈0.00001°) — faster for tidy adjacent tessellations, but it will not boolean-merge overlaps.

Is this the same as mapshaper dissolve or turf dissolve?

The same family of algorithms, running locally in your browser: Standard union is turf boolean clipping, and Shared-edge merge is a TopoJSON arc dissolve like Mapshaper's. If your data has topology errors (self-intersections, gaps), Mapshaper's -clean command is still the recommended pre-repair before pasting it here.

Can it merge my GeoJSON files into one file?

It merges polygon geometry, not files: paste or load the layers you want unioned and download one dissolved file. Attributes are dropped (geometry only), lines/points are rejected, and MultiPolygons must be split into single polygons first. If you need attribute-level or key-matching merges, that is GeoJSON Join, not this tool.

Is it free? Do I need an account?

Yes — dissolving GeoJSON uses the free daily allowance and needs no sign-in. Batch runs and larger quotas are the paid Pro tier.

Examples

  • Input: a FeatureCollection of two adjacent polygons
  • Output: a FeatureCollection with 1 dissolved feature (summary: 2 → 1; internal boundary removed)
  • Input: adjacent census-block polygons → Output: one city boundary with shared edges removed (summary: N blocks → 1 polygon).

Supported formats

GeoJSON

Limitations

  • Runs locally via turf.js (MIT).
  • Only Polygon features can be dissolved (split MultiPolygons into single polygons first).
  • Two algorithms: Standard union (turf clipping — overlapping interiors are truly merged) and Shared-edge merge (TopoJSON-style arc dissolve — only shared edges between adjacent polygons; overlapping interiors are NOT boolean-unioned; output is quantized at 1e5, ≈0.00001°).
  • Attributes are not preserved: the output contains dissolved geometry only. Keep a copy of your source layer.
  • Topology errors (self-intersections, gaps) can affect the result — repair first with Mapshaper's -clean command.
  • Layers crossing the 180° antimeridian are merged in a shifted continuous longitude space and the output longitude is renormalized to ±180 (a disclosure line appears when it applies).
  • Output stays in WGS84 longitude/latitude (RFC 7946 default — no crs member is written).
  • The summary reports input N → output M; the map preview renders geometry locally while CARTO basemap tiles are fetched over the network.
  • Large inputs may be slow in the browser.

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.