GeoJSON Merge

Combine multiple GeoJSON files, features, or geometries into one FeatureCollection. Optionally round coordinates, renumber ids, and tag each feature by source. Runs in your browser; nothing is uploaded.

Try:
Merged FeatureCollection

About this tool

GeoJSON Merge combines two or more GeoJSON inputs into a single RFC 7946 FeatureCollection. Paste your GeoJSON one value after another — separated by whitespace, a blank line, or one object per line (line-delimited GeoJSON / NDJSON works too) — and every feature is flattened, in order, into one collection.

Mixed input shapes are handled for you:

Options

Everything runs locally in your browser via WebAssembly — your data is never uploaded.

Worked example

Merging a FeatureCollection with a bare point:

{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"A"},"geometry":{"type":"Point","coordinates":[0,0]}}]}
{"type":"Point","coordinates":[1,1]}

produces (minified):

{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"A"},"geometry":{"type":"Point","coordinates":[0,0]}},{"type":"Feature","properties":{},"geometry":{"type":"Point","coordinates":[1,1]}}]}

Good for

Limits

FAQ

What input formats can I paste in?

Any mix of GeoJSON FeatureCollections, bare Features, and raw geometries — concatenated with whitespace, blank lines, or one object per line (line-delimited GeoJSON / NDJSON). They're read as a stream of JSON values and merged left to right; a single value is simply reformatted.

Does it deduplicate or dissolve overlapping features?

No. This is a structural merge: every feature from every input is kept, in order. It does not remove duplicates, union geometries, or dissolve shared borders — use a full GIS tool for topology operations.

How does coordinate precision rounding work?

Set Coordinate precision to the number of decimal places you want and every coordinate in every geometry is rounded to that many decimals — a quick way to shrink a file (6 decimals is roughly 0.1 m at the equator). Leave it at -1 to keep coordinates exactly as they came in.

Can I keep track of which file each feature came from?

Yes — type a property name into Tag features with source property and every feature gets that property set to its 1-based source-document number (the first pasted value is 1, the second 2, and so on), so you can style or filter by origin after merging.

Is my data uploaded anywhere?

No. The merge runs entirely in your browser through WebAssembly — nothing is sent to a server, so it works offline and keeps private data private.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool geojson-merge '{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"A"},"geometry":{"type":"Point","coordinates":[0,0]}}]}
{"type":"Point","coordinates":[1,1]}'

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/geojson-merge/?geojson=%7B%22type%22%3A%22FeatureCollection%22%2C%22features%22%3A%5B%7B%22type%22%3A%22Feature%22%2C%22properties%22%3A%7B%22name%22%3A%22A%22%7D%2C%22geometry%22%3A%7B%22type%22%3A%22Point%22%2C%22coordinates%22%3A%5B0%2C0%5D%7D%7D%5D%7D%0A%7B%22type%22%3A%22Point%22%2C%22coordinates%22%3A%5B1%2C1%5D%7D&indent=2&precision=-1&renumber=true&source_property=source

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.