JSON Diff Checker

Compare two JSON objects and see exactly what changed, was added, or removed.

JSON A (Original)
JSON B (Modified)

Free online JSON diff: compare two JSON objects instantly

When debugging API changes, reviewing config migrations, or auditing data transformations, you need to know exactly which keys changed and what their new values are. A plain text diff shows line changes that may not correspond to semantic JSON differences; a proper JSON diff traverses the object graph and reports additions, removals, and value changes at every nesting level.

This tool gives you a structured diff with clear colour coding: green for added, red for removed, amber for changed values. Each entry shows its full key path so you can immediately locate the change in your codebase or API contract. The summary row gives you a count at a glance, and the unchanged key count tells you how much stayed the same.

Step-by-step guide

  1. 1
    Paste the original JSON
    Put the base or original JSON object into the left panel (JSON A).
  2. 2
    Paste the modified JSON
    Put the updated or modified JSON object into the right panel (JSON B).
  3. 3
    Click Compare
    Press the Compare button to run the deep diff and generate the change report.
  4. 4
    Review the summary counts
    Check the Added, Removed, Changed, and Unchanged counts in the summary row for a quick overview.
  5. 5
    Inspect the diff view
    Scroll through the Diff View panel to see each changed property with its old and new values highlighted.

Related Tools

Frequently Asked Questions

What does a JSON diff tool do?
A JSON diff tool compares two JSON objects and reports which keys were added, removed, or had their values changed. It gives you a precise, structured view of the differences rather than a raw line-by-line text diff.
Does this tool support nested objects and arrays?
Yes. The comparison is fully recursive. Nested objects and arrays are traversed, and changes at any depth are reported with their full dot-notation path (e.g. address.city or tags[1]).
Is the comparison order-sensitive for objects?
JSON object keys are unordered by spec, so this tool compares by key name rather than position. Arrays are compared by index, so reordering array elements will show up as changes.
Are my JSON objects sent to a server?
No. All comparison logic runs in your browser. Neither JSON object is transmitted to any external server.
What if my JSON has a syntax error?
The tool parses each panel independently. If either side has invalid JSON, an error message appears below that panel with the parser's error description, and the comparison is blocked until both sides are valid.
Can I use this to compare API responses?
Absolutely. Paste the response from two different environments (dev vs production, v1 vs v2) into the two panels and Compare will show you exactly what changed between them.
How are unchanged keys shown?
Unchanged keys are excluded from the diff view to keep it readable. The unchanged count is shown in the summary row, and a note at the bottom of the diff panel tells you how many keys were not shown.
What do the +, -, and ~ symbols mean in the diff?
+ means a key was added in JSON B. - means a key was removed (present in A but not B). ~ means the key exists in both but the value changed, showing old crossed out next to the new value.

AlteredIdea vs alternatives

vs server-side tools: Everything runs in your browser: your data never leaves your device.

vs VS Code extensions: No install needed. Works instantly in any browser.

vs paid tools: Completely free, no account required.