JSON Deep Merge
Deep-merge two or more JSON documents. Pick a conflict strategy — last wins, first wins, concat arrays, merge arrays by index, or fail on conflict. Every conflict is logged below so you can see what got overridden.
Merged output
Paste at least one JSON.
Conflicts
How to deep-merge
- Add 2 or more JSON inputs (the tool starts with two panels; + Add input for more).
- Pick Conflict strategy:
- Last wins (default) — right-hand input overrides.
- First wins — left-hand input keeps its value.
- Concat arrays — when both sides are arrays, concatenate.
- Merge arrays by index — recurse into arrays element-by-element.
- Fail on conflict — surface every conflict for manual resolution.
- The output panel shows the merged JSON. Conflicts are logged below — useful for understanding what got overridden.
FAQ
What is the difference vs json-merge-patch?
json-merge-patch is RFC 7396, where null means "delete this key". This tool is straight deep-merge — null is treated as a value.
Concat arrays creates duplicates — is that a bug?
No — it's the spec. Use Merge arrays by index if you want positional merge, or pre-dedupe before merging.
Will it work offline?
Yes.