JSON Diff
Compare two JSON documents and see exactly what changed — added, removed and changed values with their paths, like $.settings.theme. Key order and formatting are ignored, and you can ignore the order of array items too.
This tool runs entirely in your browser.
How to use the JSON Diff
- 1Paste the original JSON on the left and the changed JSON on the right.
- 2Read the list of differences — each one shows its path and the old and new value.
- 3Tick “Ignore the order of items in arrays” if order doesn’t matter, then copy the report.
What is the JSON Diff?
A text diff compares lines, so reformatting or reordering keys makes everything look different. A structural diff parses both documents first and compares values, so {"a":1,"b":2} and {"b":2,"a":1} are equal. Each difference is reported with a JSONPath-style location: $ is the root, .name is a key and [2] an array index.
Arrays are compared position by position by default, which is right for ordered lists. With “ignore order” on, items are matched by value instead — useful for tag lists or sets of IDs.
Frequently asked questions
Why do I see many changes when only one item was inserted in an array?
Position-by-position comparison shifts every later item. Turn on “Ignore the order of items in arrays” to match items by value instead.
Is 1 the same as 1.0?
Yes — both are the same JSON number. "1" (a string) and 1 (a number) are different and are reported as a change.
Is the JSON Diff free and private?
Yes. The JSON Diff is free, needs no account, and runs entirely in your browser. What you type is never sent to a server or stored.
Related tools
All developer tools →- Text DiffCompare two texts and highlight differences.
- JSON FormatterFormat and beautify JSON online.
- JSON ValidatorCheck if JSON is valid and find syntax errors.
- JSON to XML ConverterConvert JSON to XML, and XML back to JSON.
- YAML to JSONConvert YAML to JSON.
- JSON MinifierRemove whitespace to make JSON compact.
