EN
My tools

JSON Compare (JSON Diff)

Compare two JSON documents by structure, ignoring key order: added, removed and changed values with their paths, number tolerance and match arrays by id.

Compare arrays
Used when matching array objects by key, e.g. id, sku or email.
Numbers closer than this count as equal. 0 = exact.
My tools →
Advertisement

Comparing JSON as plain text produces noise: a reordered key or different indentation shows up as a change even when the data is identical. This tool compares the parsed structure instead. Key order is ignored, every difference is listed with its path, and options cover the usual false alarms — rounding in numbers, letter case, and arrays whose items moved.

How to use this tool

  1. Paste the original JSON on the left and the changed version on the right.
  2. If your arrays hold records with an id, choose Match objects by a key field and enter the field name.
  3. Optionally set a number tolerance or ignore case in strings.
  4. Read the table of paths and changes; the line diff below shows the same data as text.

Formula

diff(L, R): different types → type change; objects → compare shared keys, list left-only keys as removed and right-only keys as added; arrays → by position or by key; numbers equal if |L − R| ≤ tolerance

Paths use the same notation as JavaScript and JSONPath: $.stock.store, $.tags[2], and $.items[id=7] for an item matched by key. The line diff sorts keys first so that key order does not create false differences.

Example

For the sample lamp, the tool finds 5 differences: $.name changed ("Desk lamp" → "Desk Lamp"), $.price changed (34.9 → 29.9), $.tags[2] added ("sale"), $.stock.store removed and $.color added. Ticking ignore case removes the name change and leaves 4.

Frequently asked questions

Does key order matter?

No. JSON objects are unordered by definition (RFC 8259), so {"a":1,"b":2} and {"b":2,"a":1} are reported as identical. Array order does matter unless you match items by a key field.

How do I compare arrays whose items were reordered?

Choose Match objects by a key field and enter a field that is unique per item, such as id. Items are paired by that value, so moving an item is not a change, and missing or new items appear as removed or added.

Why does 1.0 equal 1?

JSON has a single number type, so 1, 1.0 and 1e0 are the same value. Use the tolerance for values that differ only by rounding, such as 0.30000000000000004 and 0.3.

Are my files uploaded?

No. Both documents are parsed and compared in your browser.

Sources

Last updated:

Cite or embed this tool
APA

kakaoCalc. (2026, November 8). JSON Compare (JSON Diff). https://kakao.mobile/tools/json-diff-tool/

MLA

“JSON Compare (JSON Diff).” kakaoCalc, 8 Nov. 2026, kakao.mobile/tools/json-diff-tool/.

Paste this code into your page. The widget runs in your visitors' browsers, shows no ads and keeps a link back to this page. Embedding terms

Advertisement