JSON Diff

FreePrivateDeep comparison

Compare two JSON documents and inspect every structural change with exact key paths.

  • Supports nested objects & arrays
  • Exact key paths (e.g. items[0].price)
  • Deep recursive comparison
Left JSON
Right JSON

No results yet

Run Compare after pasting valid JSON on both sides, or load the sample pair.

Ctrl+Enter Compare

Paste JSON in both panels, then run Compare — or use Load sample pair above.

JSON Diff Tool: Compare Two JSON Objects Online

Paste two JSON objects and instantly see every added, removed, and changed field. with exact key paths, old values, and new values. Filter by change type or search by key path. 100% private, runs in your browser.

Use Cases

API Debugging
Compare request and response payloads. Pretty-print captures with the JSON Formatter, then isolate fields using the JSONPath tester.
Version Comparison
Diff configs, schemas, or snapshots between releases. Pair with JSON Schema when contracts move in lockstep with data.
Backend Changes
Track how an API response changed after deploy: added keys, removed keys, and type drift. Follow up with JSON Flatten when normalizing nested payloads for analytics.
Test Assertions
Compare expected vs. actual JSON in CI output. Validate both sides parse with the formatter, then paste into this diff. Export CSV baselines via JSON → CSV when stakeholders work in sheets.

How to Use

  1. Paste the original JSON into the Left panel
  2. Paste the updated JSON into the Right panel
  3. Click Compare to see a full recursive diff
  4. Filter by Added / Removed / Changed, or search by key path

Example

Left (original)
{ "name": "Alice", "age": 30 }
Right (updated)
{ "name": "Alice", "age": 31, "country": "UK" }

Features

  • Deep recursive diff of nested objects and arrays
  • Summary bar shows added / removed / changed totals
  • Filter by change type or search by key path
  • Shareable diff URL. encodes both payloads in the hash
  • 100% private; no server, no upload

Frequently Asked Questions

What is a JSON diff tool used for?

A JSON diff tool shows exactly what changed between two JSON objects, files, or API responses: added keys, removed keys, and modified values with paths you can act on.

Can I compare nested arrays and objects?

Yes. Deep comparison walks nested structures and reports changes inside child objects and ordered arrays.

What does the path in diff results mean?

A path points to where a change occurred—for example user.address.city or items[2].price—using dot segments and bracket indices from the document root.

Why is array order causing differences?

Arrays are ordered. If items move position, the diff may show changes even when the multiset of values looks similar. Sort keys or normalize order upstream when order should not matter.

How can I make diff results easier to read?

Format both JSON inputs first with the JSON Formatter or JSON Pretty Print, then compare for cleaner side-by-side reading.

Can I share diff results with teammates?

Yes. Click Share URL on this page to encode both JSON payloads into the URL hash so anyone with the link sees the same diff. You can also use Compare JSON for the same comparison workflow on a dedicated route.

Is this useful for debugging APIs?

Yes. Developers often compare old and new API responses to catch breaking changes or unexpected fields. Validate inputs with the JSON Validator before diffing when parsers fail.

Is my data private when using the diff tool?

Yes. The comparison runs locally in your browser without uploading your JSON to a server.

Related Tools