JSON Diff

Compare two JSON documents and see exactly what changed — added, removed, and changed entries, each with its JSON path.

Original JSON (A)

New JSON (B)


Paste two JSON documents above and click Compare.
Runs locally in your browser. Nothing is uploaded.

What is JSON Diff?

JSON Diff compares two JSON documents and reports their semantic differences: entries that were added, entries that were removed, and entries whose value changed. Each difference is shown with its full JSON path, such as $.user.name or $.items[2].price, together with the old and new values. Because the comparison works on parsed data rather than raw text, reformatting alone — different indentation, key order, or spacing — produces no false differences.

Objects are compared key by key, so a renamed or added field is reported at exactly the path where it lives. Arrays are compared position by position, so an item inserted in the middle shows up as changes at the affected indexes rather than a vague whole-array mismatch. Primitive values and type changes are covered too: a number becoming a string, or a value becoming null, is reported as a change with both sides visible. The summary counts added, removed, and changed entries at a glance.

How to use JSON Diff

1. Paste the original document into box A and the new document into box B, or click Load example. 2. Click Compare. 3. Read the summary, then scan the rows: added entries, removed entries, and changed entries with old → new values. 4. If either document fails to parse, fix the reported error and compare again — a document that is not valid JSON cannot be diffed meaningfully.

Frequently asked questions

Does key order or whitespace matter? No. Both documents are parsed first, so only real data differences are reported. Reordering keys or re-indenting produces an identical result.

How are arrays compared? By index. Items at the same position are compared with each other, extra items at the end of the new array are reported as added, and items missing from the new array are reported as removed.

Can it compare nested objects? Yes, to any depth. The recursion walks into nested objects and arrays, and every difference carries its full path from the root, so you can find it in the original document immediately.

What if one side is not valid JSON? The tool shows which side failed and the parser error message. Fix that document first — for example with a JSON repair step — then compare again.

Related tools

JSON Repair · JSON Formatter · Text Diff · JSON to CSV

Runs locally in your browser. Nothing is uploaded. How our privacy works

© 2026 TinyLabTools · tinylabtools.com