Nouplo

JSON diff

What actually changed, as a path.

Output
Put the two documents one after the other, with a line of --- between them.

Your files stay on your device

This tool runs entirely in your browser. What you paste is processed on your device and is never sent to a server, so it is safe to use with tokens, keys and unpublished text.

How it works

  1. Paste the first document, a line of ---, then the second.
  2. If the two hold a keyed list, name the key: items that only moved are then reported as moved rather than rewritten.
  3. Read the paths. + is added, - is removed, ~ is changed, → is moved.
  4. Copy the report if you need it in a ticket.

Frequently asked questions

Why not just use a text diff?
Because a text diff of JSON is nearly useless. Reformat a file, or let a server return its keys in another order, and every line is marked changed while nothing actually is. This walks both values together, so users[2].email is the answer rather than “line 47”.
How are arrays compared?
By position, which is the honest default: matching them by content needs a key nobody has told us about, and guessing one produces confident nonsense. If your list has an id, name it and the comparison follows the items instead of their positions.
Does key order count as a difference?
No. {a:1,b:2} and {b:2,a:1} are the same data and are reported as identical.
Is there a size limit?
Only what your browser can hold. Documents of a few megabytes are fine; the comparison itself is quick.
Is anything sent to a server?
No. It runs in your browser, so what you paste stays on your computer.

Related tools