Online JSON diff: compare two JSON documents
Paste two JSON documents and see exactly how they differ. The JSON diff compares them node by node rather than line by line, so reordered keys, reordered arrays and different formatting are not reported as differences. Input can be minified, pretty printed, escaped, or still wrapped in a log line; the output is always formatted and aligned side by side.
Features
- Side by side: Left and Right are aligned row by row, with blank space where a value exists on only one side.
- Colour coded: red is only in Left, green is only in Right, amber is different on both sides.
- Key order ignored: objects are compared key by key.
- Ignore array order: items are paired by value, and similar objects are paired so you see what changed inside them.
- Changed strings: only the words or characters that differ are highlighted, which helps with long URLs and tokens.
- Values, not text:
1,1.0and1e0are equal;1and"1"are not; large IDs are never rounded. - Nested JSON strings: fields that hold escaped JSON are compared node by node.
- Path on hover: hover a highlighted line to see where it is, e.g.
imp[0].banner.w. - Private by design: no uploads, no tracking, nothing stored.
How to compare JSON
- Paste one document into Left and the other into Right.
- Press Compare, or Ctrl/⌘ + Enter.
- Jump between differences with Prev/Next, or press p and n.
- Turn on Only show differences to collapse unchanged parts of large documents.
Frequently asked questions
Does the JSON diff care about key order?
No. Objects are compared key by key, so {"a":1,"b":2} and {"b":2,"a":1} are equivalent.
How are arrays compared when array order is ignored?
Equal items are paired wherever they are. Remaining objects are paired with the most similar object on the other side, and their inner differences are shown. Items with no partner are shown as only in Left or only in Right. Turn off Ignore array order when position matters.
Are 1 and 1.0 different?
No. Numbers are compared by exact decimal value, so 1, 1.0 and 1e0 are equal, while large IDs such as 7234567890123456789 are never rounded. A number and a string, such as 1 and "1", are different.
Is my JSON data safe?
Yes. The comparison runs in your browser. Nothing you paste is sent to a server or stored.