Skip to main content

Free JSON Diff

Compare two JSON objects structurally β€” see exactly which keys were added, removed, or changed, even deep inside nested data. Runs in your browser.

Works offline once loaded

You can also drop a .json file here.

You can also drop a .json file here.

Compares elements position by position β€” a reorder shows as many changes.
Options: ignore keys, case, types, sort keys

πŸ’‘ A structural diff (not line-by-line): it walks both objects and reports exactly which paths were added, removed, or changed β€” even deep inside nested objects and arrays. Everything runs in your browser.

Common uses

  • Compare Two API ResponsesSee exactly what changed between two JSON API responses.
  • Compare Config FilesDiff two JSON configs to find what changed between environments.
  • Debug Unexpected JSON ChangesPinpoint why a JSON object isn't what you expected.
  • Compare Two Versions of a DocumentDiff two versions of a JSON document or data export.
  • Review JSON Changes in a PRUnderstand a JSON change more clearly than a line diff.

How It Works

A line-by-line diff is noisy for JSON because formatting and key order change. This compares the two values structurally and tells you exactly what changed.

  1. 1
    You paste two JSON values
    An original (A) and a changed (B). Both are parsed locally β€” nothing is uploaded.
  2. 2
    They're compared by structure
    The tool walks both trees recursively, matching keys and array indices regardless of formatting or key order.
  3. 3
    Differences are listed by path
    Each change is reported with its exact path (e.g. user.roles[1]) as added (+), removed (βˆ’), or changed (~) with the old β†’ new value.
  4. 4
    You see a clear summary
    Counts of added/removed/changed, then the detailed list β€” or confirmation that the two are identical.

API responses and config can be sensitive. The comparison runs entirely on your device β€” neither value is uploaded.

Related Tools

Frequently Asked Questions