JSON Diff — Compare Two JSON Documents

Find exactly what changed between two JSON documents — API responses, config versions, fixtures or exports — as a list of paths with old and new values.

Runs in your browserUpdated

Your data never leaves your computer. All processing happens 100% locally in your browser.

How to use the JSON Diff

  1. Paste the original JSON on the left and the changed JSON on the right.
  2. Read the summary of added, removed and changed values.
  3. Use the path column to locate each change; tick Ignore array order for lists whose order does not matter.

Structural diff vs text diff

A text diff compares lines, so reformatting, reordered keys or a changed indentation make every line look different. A JSON diff parses both documents and compares the data: {"a":1,"b":2} and {"b":2,"a":1} are identical, and a changed nested value is reported once with its exact path.

How changes are reported

TypeMeaningExample
addedKey or array element only in the changed document$.license
removedKey or element only in the original$.private
changedDifferent value or different type at the same path$.version: "1.4.0" → "1.5.0"

Arrays

By default arrays are compared position by position, which is right for ordered data. For sets — tags, permissions, IDs — tick Ignore array order: elements are matched by content, so only genuinely added or removed items are reported.

Typical uses

  • Checking what an API change returns differently before and after a deploy.
  • Comparing package.json, Terraform state or feature-flag configs between environments.
  • Reviewing updates to translation files and test fixtures.

For plain-text comparison use the diff checker; to inspect one document, the JSON viewer.

Tools that pair well with the JSON Diff

  • JSON Escape & Unescape — Make any text safe to paste into a JSON string — quotes, backslashes, newlines and Unicode — or turn an escaped string back into readable text or JSON.
  • JSON to CSV — Turn a JSON array into a spreadsheet-ready CSV.
  • JSON to YAML — Paste JSON and get clean YAML for Kubernetes manifests, Docker Compose, GitHub Actions or any config file.
  • YAML to JSON — Paste YAML — a Compose file, Kubernetes manifest or CI config — and get formatted JSON.

Frequently asked questions

Does key order matter?
No. JSON objects are unordered, so the same keys and values in a different order are reported as identical.
Can I compare large JSON files?
Yes, several megabytes compare quickly in your browser. Only the first 300 characters of each changed value are shown in the table.
Is my JSON uploaded?
No. The comparison runs locally.

Related tools