Two JSON responses that look identical at a glance can have subtle differences that break your app — a renamed key, a changed type, an extra field. A proper JSON diff tool finds them in seconds. Here is how to use one effectively.
Text diff vs semantic diff
A plain text diff treats JSON as a string and flags any character difference, including key reordering that has no functional impact. A semantic diff understands JSON structure: two objects with the same keys in different order are considered equal. This JSON Diff tool is semantic — it compares meaning, not formatting.
Split view vs unified view
Split view shows the two JSON objects side-by-side with matching sections aligned. Added lines appear in green on the right, removed lines in red on the left, and changed values in amber. This view is best for understanding context.
Unified view shows a single column with + and − markers — similar to a git diff. This view is more compact and better for copying into a ticket or review comment.
Diff options explained
- Ignore array order: Treats arrays as sets. Two arrays with the same elements in different orders are considered equal. Use when comparing API responses where order is not guaranteed.
- Ignore case: String comparisons are case-insensitive.
"Admin"and"admin"are treated as equal. - Ignore whitespace: Whitespace-only differences in strings are ignored.
- Ignore null values: Keys with
nullvalues are treated as absent. Useful when one JSON source omits null keys and another includes them explicitly.
JSON Patch (RFC 6902) export
JSON Patch is a standard format describing changes as an array of operations. You can export the diff and apply it programmatically:
[
{ "op": "replace", "path": "/user/name", "value": "Bob" },
{ "op": "add", "path": "/tags/2", "value": "v3" },
{ "op": "remove", "path": "/deprecated" }
]Use this to update a JSON document without sending the full object — useful in APIs, configuration management, and event-sourcing systems.
Merge strategies
After reviewing a diff, you can resolve it in three ways:
- Accept Left: Keep the original (left) value for all conflicts
- Accept Right: Take the new (right) value for all conflicts
- Deep Merge: Recursively merge both objects — new keys are added, existing keys keep the right value, unaffected keys are preserved
Compare two JSON objects instantly — semantic diff, JSON Patch export:
Open JSON Diff Tool →