Deep-merges two JSON objects (source overrides target).
JSON Merge deep-merges two JSON objects, recursively combining nested objects while values from the source override matching values in the target. It's useful when you need to combine, patch, or layer JSON data such as merging a base config with environment-specific overrides. The result is pretty-printed with 2-space indentation and runs entirely in your browser.
No. The merge runs entirely in your browser using client-side JavaScript, and nothing you paste is uploaded or stored anywhere.
The source object overrides the target. When both values for a key are plain objects they merge recursively; otherwise the source value replaces the target value.
Arrays are not merged element by element. An array in the source completely replaces the corresponding value in the target, just like primitives do.
If no source JSON is provided, the tool simply re-formats and pretty-prints your target JSON with 2-space indentation.
Both inputs must be valid JSON. If either the target or the source fails to parse, the merge cannot run, so check for issues like trailing commas or unquoted keys.