Format & validation

JSON Diff & Compare

Compare two JSON documents by meaning, not by text — every added, removed and changed value, with its path.

Two JSON documents
Output

Result appears here after you select

{ } How to use

  1. Paste the first document, then the second straight after it. A line of dashes between them is optional.
  2. Select Process.
  3. Each row is one difference, with a JSONPath you can copy.

{ } How it works

JSON Diff & Compare works on the text you provide. Select Process ▸ and it runs entirely in your browser — nothing is uploaded to a server — then shows the result in the Output panel.

Input

  • Two JSON documents — paste or type your input in the left panel (use Sample for an example)

Output

TXT text — copy or download it from the Output panel.

{ } Common uses

  • See what actually changed between two API responses.
  • Compare a config file against a known-good copy before deploying it.
  • Find the one differing value in two objects that look identical.
  • Check that a conversion or migration preserved the data it was meant to.

{ } Limitations

  • Arrays are compared by position, because that is what a position means in JSON. Inserting an item near the start therefore reports every later index as changed — which is accurate, if not always what you hoped.
  • It reports where the two differ, not how to get from one to the other. For that, generate a patch.

{ } FAQ

Is my data uploaded to a server?

No. Everything runs locally in your browser — your files never leave your device.

Can I process more than one file at once?

This tool works on one input at a time.

Is this tool free?

Yes — it’s completely free and needs no sign-up.

How is this different from a text diff?

It compares the data rather than the characters. Reordered keys and different indentation produce no differences at all here, where a text diff would show the whole file as changed — and a value that genuinely changed is reported once, with its path, rather than as a pair of lines you have to read.

How do I mark where the first document ends?

You usually do not need to: the end of the first complete object or array is found by counting brackets. If the two are hard to tell apart, put a line of three or more dashes between them.