JSON Diff Tool

Paste two JSON objects and instantly see what changed

Result

About This Tool

The JSON Diff Tool makes it simple to compare two JSON objects or files and pinpoint exactly what changed. Whether you are debugging an API response that came back wrong, auditing a configuration file before deploying to production, or reviewing a colleague's data transformation, this tool highlights every addition (shown in green), every deletion (shown in red), and every value change (shown with the old and new values side by side) in a clean, easy-to-read format. The comparison engine walks the full object tree recursively, so nested objects, arrays, and mixed types are all handled correctly. Use the Ignore key order option to treat objects as unordered maps — useful when comparing API responses where key order is not guaranteed. Use Format to pretty-print messy one-liners before comparing, or Minify to collapse large objects for quick copying. All processing runs entirely in your browser: your JSON data is never transmitted to any server, making this tool safe for sensitive payloads, internal credentials, or proprietary data structures. It works offline once the page has loaded.

Frequently Asked Questions

Is my JSON data sent to a server?

No. All comparison happens entirely in your browser using JavaScript. Your JSON data never leaves your device — not even a single character is transmitted.

What does "Ignore key order" do?

When enabled, objects with the same keys and values are considered identical regardless of the order keys appear. For example, {"a":1,"b":2} is treated as equal to {"b":2,"a":1}. Disable this option if order matters for your use case.

Can I compare large JSON files?

Yes. The tool handles files up to several megabytes. Very large payloads may take a moment to process, but since everything runs client-side there is no server timeout.

How do I compare JSON arrays?

Paste the arrays directly into the input fields — no special formatting needed. The tool diffs elements by index and reports added, removed, or changed items just like it does for objects.

What do the colours in the diff output mean?

Green lines are values present in the modified JSON but not the original (additions). Red lines are values that existed in the original but are gone (removals). Path lines in grey show which key changed. Both the old and new values are shown for changed fields.