JSON Merge
Deep-merge two JSON documents with a conflict report. Pass two files (base, override); the second wins on collisions. Picks an array strategy (replace / concat / union) and emits the merged result alongside a list of every path where base and override disagreed. Pairs with json-diff (compare) for change-management workflows.
About JSON Merge
JSON Merge deep-merges two JSON documents and hands back a conflict report. You pass a base and an override; the override wins on collisions, you pick how arrays combine (replace, concat, or union), and the tool emits both the merged result and a list of every path where the two disagreed. It's built for config and change-management work, and it runs entirely in your browser.
- Category
- dev
- Input
- Accepts: application/json or text/plain.
- Output
- Outputs: application/json.
- Cost
- Free, runs in your browser
- Memory
- low
Common uses
- Layer an environment-specific override file on top of a base config and see exactly what changed
- Merge default settings with user settings while keeping a record of which keys the user overrode
- Combine two feature-flag JSON files, using union on arrays so no flags get dropped
- Reconcile two halves of a config split across teams and review every conflicting path before committing
- Apply a patch document to a base record and audit the collisions it introduced
- Build a merged fixture for tests from a shared base plus a scenario-specific override
Frequently asked questions
Which document wins when keys collide?
The override (the second file) wins on collisions during the deep merge.
How are arrays handled?
You choose a strategy: replace (override's array wins), concat (append them), or union (combine and de-duplicate).
What's in the conflict report?
A list of every path where the base and override disagreed, so you can review exactly what the merge changed before trusting the result.
What does it accept and return?
Two JSON documents as input (application/json or plain text), and it returns the merged JSON alongside the conflict report.
Is my data sent anywhere?
No. The merge runs in your browser, so both config files stay on your device.
Keywords
- json
- merge
- deep-merge
- config
- diff
- conflict