JSON Diff Checker — Compare Two JSON Documents

Paste two JSON documents and see every difference: added, removed and changed values with their paths. Free, private, in your browser. No upload — runs 100% in your browser

How to use this tool

  1. Paste or drop your input above.
  2. The tool processes it locally — usually instantly.
  3. Copy the output or download the result.

Structural diff, not line diff

A line differ on two JSON files is noise: reformat one value and every line "changes". This tool parses both sides and walks the data itself, comparing objects key by key (independent of key order) and arrays element by element. Only real differences are reported, each with its path: $.status, $.items[1].sku.

Reading the output

Each line is one difference. ~ means the value at that path changed — old value, arrow, new value. + means the key exists only on the right (added). - means it exists only on the left (removed). In the sample: the status and total changed, gift_wrap was removed, and the second line item's SKU differs. The stats bar counts them; identical documents produce a clean 'identical' result.

What a JSON diff cannot pretend to know

Two honest limits. Array order is meaning in JSON, so a reordered array shows every move — a text differ would too, and pretending arrays are sets would hide real changes. And this is a data comparison, not a patch format: it tells you what differs, not how to script the edit.

Frequently Asked Questions

Are my files uploaded to a server?

No. Everything on this page runs inside your browser using JavaScript and WebAssembly. Your file never leaves your device — you can even disconnect from the internet after the page loads and the tool still works.

Does key order matter?

No — objects are compared key by key regardless of the order either side writes them in. Only values count.

Why does a reordered array show as many changes?

Array positions are part of an array's meaning; element 0 becoming element 1 is a real change. This is how every serious JSON differ behaves.

How large can the inputs be?

Both documents are parsed in browser memory; documents of a few MB diff in a moment. Truly huge files belong in a scripted pipeline.

Related Tools

XML FormatterLine CounterChinese Word CounterX/Twitter Character CounterYAML to JSONJSON to YAMLCSV to JSONCSV to ExcelExcel to CSVXML to CSVCSV to XMLHTML Entity DecoderCase ConverterKebab Case ConverterDOCX to TXT