CalcCafe

JSON Diff

Paste two JSON documents and get a clean, path-by-path list of everything that was added, removed or changed.

Reviewed by the CalcCafe editorial team · Last updated 1 July 2026 · How we test our tools

The two documents are identical.

PathChangeValue

How it works

Both inputs are parsed to objects and walked recursively; mismatching keys and values are collected with their dotted paths and a change type — all locally.

100% client-side — nothing you paste is ever uploaded.

Frequently asked questions

How does the comparison work?
Both documents are parsed and compared key by key, recursively. You get the dotted path to each difference and whether it was added, removed or changed.
Is my data uploaded?
No — both documents are parsed and diffed entirely in your browser.

People also ask

How can I compare two JSON files for differences?
Paste each document into the two panes above and the tool walks both structures and lists every added, removed, or changed value by its dotted path, ignoring whitespace and key order. In a terminal, normalize first with jq -S . a.json > a.txt and jq -S . b.json > b.txt, then run diff a.txt b.txt. Comparing raw text without normalizing will flag harmless formatting differences.
What is the difference between {} and [] in JSON?
Curly braces {} define an object, an unordered set of key-value pairs where every key is a string, such as {"name": "Ann"}. Square brackets [] define an array, an ordered list of values, such as [1, 2, 3]. This diff walks objects key by key and reports each difference by its dotted path such as a.b, while an array is compared as a single value, so any change inside it is shown as the whole array changing at its path.
How do I use jsondiff in Python?
Install it with pip install jsondiff, then call diff on two parsed values: from jsondiff import diff; diff({'a': 1, 'b': 2}, {'a': 1, 'b': 3}) returns {'b': 3}, and removed or inserted keys are marked with the library's delete and insert symbols. Pass syntax='explicit' or dump=True for output that is easier to log. If you cannot add a dependency, json.dumps(obj, sort_keys=True, indent=2) on both sides plus difflib.unified_diff gives a plain text diff.
How can I compare two files side-by-side?
For JSON, paste both files here to get a path-by-path change list; for any other text, the Diff Tool on this site shows added and removed lines. In an editor, VS Code's Compare Selected opens two files side by side with changes highlighted, and in a terminal diff -y a.txt b.txt prints them in two columns.
What is the best file comparison tool?
For structured data such as JSON, a semantic comparison like this one is best because it ignores formatting and key order and reports what actually changed. For source code, git diff and editor compare views are the everyday standard, and for merging conflicting versions a three-way tool such as Meld or Beyond Compare is more capable. Pick the tool that understands the format you are comparing.
Can ChatGPT compare two documents?
A language model can summarize how two documents differ, but it works by reading and describing rather than by exact matching, so it can miss or misstate small changes such as a single number or key. For a reliable answer, use a deterministic diff: this tool for JSON, or a text diff for prose and code, then ask an assistant to explain the listed changes if you want a summary.

Related tools

Related calculators

Sources & references

These tools follow our methodology and provide educational estimates only — verify important figures with a qualified professional.