JSON merge online

Processed locally
app.merge.view

You can also load data via #data={"name":"Ada"} or #url=... It is cleared from the address bar after it is read.

Combine several JSON documents into one. Useful for stacking user config on defaults, or joining several API results. Merge rules run in the browser. Deep merge keeps nested fields that appear on both sides; top-level overlay replaces a same-named key as a whole.

Deep merge

Nested objects merge by key instead of replacing the whole object. For example, defaults in theme.color and user config in theme.font can both be kept.

Fits “base config + environment overlay” workflows.

Conflicts are visible

When both sides have a value at the same path, the strategy you choose wins. If you are unsure, Diff the conflict paths first.

Arrays can concatenate, replace, or unique—do not assume they deep-merge by index.

Pair with Diff

Diff first, then merge, so you do not overwrite by accident. Format or sort the result before storing it.

An empty side is treated as an empty object, so you can paste only the delta.

Example

Base config
{
  "theme": "light",
  "limits": { "maxSizeMB": 2 }
}
After overlay (sample)
{
  "theme": "dark",
  "limits": { "maxSizeMB": 2, "debounceMs": 300 }
}
How are arrays merged?

Follow the options in the tool: concatenate, replace, or unique. Do not assume a deep index merge.

Are files uploaded?

No. Even if you paste several documents, they merge only in local memory.

Top-level overlay vs deep merge?

Top-level overlay replaces a same-named key with the whole right-hand object. Deep merge walks into nested objects and continues merging.

Can I merge more than two documents?

The UI is two panes. For more, merge the first two, then merge the result with the third.

Recommended workflow

  1. Paste defaults / old data on the left and overlay / new data on the right.
  2. Choose deep merge, top-level overlay, or merge as an array.
  3. If there are arrays, also choose concatenate, replace, or unique.
  4. Click “Merge”, inspect the result, then copy. If unsure, Diff the originals first.

Config JSON usually wants deep merge. Feature flags that should “last write wins” fit top-level overlay.