Structural vs line diff
A text diff compares two files line by line, so re-indenting a document or reordering object keys lights up as changes even when nothing meaningful differs. This tool parses both sides as JSON and walks the values, reporting only real differences: a key present on one side, or a value that actually changed. For a line-by-line view of any text — including JSON you want compared verbatim — use the text Diff tool.
How it reads the result
Each difference is shown with its path: user.name for an object key, roles[1] for an array index. A + means a key or element exists only in B, a − means it exists only in A, and ~ marks a value that changed, shown as old → new. Objects are compared by key regardless of order; arrays are compared by position.
Notes
Both sides must be valid JSON (double-quoted keys, no trailing commas). Numbers are compared by value, so 1 and 1.0 are equal after parsing. To tidy or validate JSON first, use the JSON formatter.
Privacy
Both documents are parsed and compared in your browser — nothing you paste is uploaded.