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.
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.
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.
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.
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.
{
"theme": "light",
"limits": { "maxSizeMB": 2 }
}
{
"theme": "dark",
"limits": { "maxSizeMB": 2, "debounceMs": 300 }
}
Follow the options in the tool: concatenate, replace, or unique. Do not assume a deep index merge.
No. Even if you paste several documents, they merge only in local memory.
Top-level overlay replaces a same-named key with the whole right-hand object. Deep merge walks into nested objects and continues merging.
The UI is two panes. For more, merge the first two, then merge the result with the third.
Config JSON usually wants deep merge. Feature flags that should “last write wins” fit top-level overlay.