Skip to main content
SK Play Labs logoSK Play Labs

JSON Diff

See which fields were added, removed, or changed.

+1 added1 removed~1 changed
  • Changedage3031
  • Removedroles[1]"editor"
  • Addedactivetrue

Runs entirely in your browser — nothing you enter is uploaded or sent to a server.

Arrays are compared by position, so reordering items shows up as changes — that keeps the diff predictable, but read array changes with that in mind. Read our full disclaimer.

About this tool

Structurally compares two JSON values and tells you exactly what changed going from the old one to the new one: which fields were added, which were removed, and which had their value changed — each with a dotted path like user.roles[0]. It recurses through nested objects and arrays, so deep changes surface clearly. Perfect for comparing API responses, config versions, or fixtures.

Try it

Change age from 30 to 31, drop a role, and add active: true, and the tool reports one changed field (age), one removed (roles[1]), and one added (active).

How to use

  1. 1Paste the old JSON on the left and the new JSON on the right.
  2. 2Read the change list: added, removed, and changed fields.
  3. 3Each change shows its path and the old and/or new value.
  4. 4Fix any parse error shown if the JSON is invalid.

Features

  • Deep structural diff of nested objects and arrays.
  • Added / removed / changed, each with a full dotted path.
  • Clear parse errors that name which side is invalid.

Frequently asked questions

How are arrays compared?

By index — position 0 to position 0, and so on. Reordering an array will therefore show as changes. This keeps the diff simple and predictable.

What counts as a 'changed' field?

A field present in both, where the value differs — including a type change (say an object becoming an array). Unchanged fields aren't listed.

More developer tools

View all