Data / LOCAL TOOL

JSON Diff

Compare two JSON documents and see exactly what changed in your browser.

Runs locally — input is never uploaded
Paste, type, or drop JSON
Paste, type, or drop JSON
Ready when you are
Differences will appear here

WHAT IT DOES

Structural JSON comparison, not a line-by-line text diff.

Paste an Original and an Updated document. Both are parsed and normalized first, so reordered keys and different indentation do not register as changes. Each real divergence is reported as a side-by-side block with its JSON path, source line numbers, and one line of surrounding context.

Why use it?

Use a structural comparison to distinguish meaningful value or type changes from formatting differences when reviewing two versions of a JSON document.

How to use this tool

  1. Place the earlier JSON in Original and the later version in Updated.
  2. Choose Compare and review added, removed, and changed content.
  3. Check the surrounding structure before acting on a difference; a diff reports a change, not whether it is acceptable to your application.

Details and limitations

  • Arrays are aligned with a bounded LCS sequence diff, so one inserted item does not mark every following item as changed.
  • Nearby properties with similar names and matching value structures are paired as a renamed key rather than an unrelated add and remove.
  • Red marks only removed or old content and green marks only added or new content; the opposite side is left explicitly empty.
  • One or two .json files can be dropped directly onto the Original and Updated panels.

WORKED EXAMPLES

A type change that a quick glance can miss

Both documents are valid JSON. Compare them to find a change that indentation alone cannot explain.

Original

{"count":2,"enabled":true}

Updated

{"count":"2","enabled":true}

Expected result

The count changes from number 2 to string "2"; enabled remains unchanged. A consumer expecting a numeric value may care even though both documents parse.

COMMON QUESTIONS

JSON Diff questions

Does key order affect the comparison?
No. Both documents are parsed into values and compared structurally, so two objects with the same keys in a different order are treated as identical.
How are arrays with inserted items handled?
Arrays are matched with a longest-common-subsequence pass before being compared. Inserting an item near the start reports one addition instead of shifting every later index into a false change.
Is there a size limit?
Files are capped at 10 MiB each, and very large array pairs fall back to index comparison so the browser tab stays responsive.