About this tool
When a config file, an API response or a saved fixture changes, the quickest way to understand what happened is to diff it. Paste the before and after JSON here and get a clean, path-addressed list: which keys were added, which were removed, and which values changed — with the old and new value shown side by side. Nested objects and arrays are walked recursively, so a change deep inside is pinpointed exactly.
It compares structure, not text, so reordered keys and whitespace don’t create noise. Everything runs in your browser and nothing is uploaded.
Frequently asked questions
Does the order of keys in my JSON matter?
No. Objects are compared by key, not position, so reordering keys in an object never shows up as a difference.
Does the order of items in an array matter?
Yes. Arrays are compared index by index, so inserting or reordering an item shifts every entry after it and shows up as a wall of changes rather than a clean 'moved' diff.
Is my JSON sent to a server to compare it?
No. Both documents are parsed and diffed entirely in your browser — nothing is uploaded.
What do the +, -, and ~ counts mean?
+ counts keys and items only in JSON B (added), - counts ones only in A (removed), and ~ counts values present in both but changed.
What happens if one side isn't valid JSON?
The tool names which side (A or B) failed to parse and jumps you to the exact line and column of the syntax error, instead of a generic failure message.