JSON Diff

+1-1~3

Original JSON

Modified JSON

Structural Diff

{
"name": "DevBench" → "LocalBench",
"version": 1 → 2,
"tags": [
"utility",
"local-first",
"privacy"
],
"owner": {
"name": "XYZ",
"role": "engineer" → "lead engineer"
},
"notes": null
}

About the JSON Diff

A structural JSON diff — paste an original and a modified document and see exactly which fields were added, removed, or changed, key by key, regardless of formatting or key order. Unlike a line-based diff, reformatting or reordering keys with no real change shows no difference at all.

This is the tool for comparing two API responses, two versions of a config object, or a snapshot of state before and after a bug — where the two documents differ semantically, not just in whitespace. Because the comparison walks the parsed object graph rather than diffing raw text, it never reports a false positive just because someone re-indented a file or reordered its keys.

How to Use the JSON Diff

1

Paste the original JSON on the left and the modified version on the right.

2

Review the added, removed, and changed fields, highlighted inline in each document.

3

Check the +/-/~ summary counts to see the overall scope of the change at a glance.

Frequently Asked Questions

How is this different from the Text Differ?

The Text Differ compares line by line, so two JSON documents with the same content but different key order or formatting look completely different. This tool parses both documents and compares them by key, so it shows exactly which fields were added, removed, or changed — regardless of formatting, whitespace, or key order.

How are arrays compared?

By position, not by matching similar elements — the value at index 0 is compared to index 0, index 1 to index 1, and so on. This means inserting an item at the start of an array shows every later item as "changed" rather than as a single clean insertion, the same tradeoff most structural JSON diff tools make.

What do the +, -, and ~ counts mean?

+ is the number of fields present only in the modified JSON, - is the number present only in the original, and ~ is the number of fields present in both but with a different value.

Is my JSON sent anywhere?

No — parsing and comparison both happen locally in your browser.

Can I diff two JSON files, not just pasted text?

There's no file-upload step — paste the contents of both files into the two panels. If your files are large, opening them in a text editor and copying the contents across is usually faster than a dedicated upload flow anyway.