JSON Diff

JSON Diff Viewer

Paste an original and an updated JSON document to see exactly what changed — nested objects and arrays included. Parsing errors point to the exact line and column. Everything stays on your device.

Back

1. Documents

Strict JSON parser

2. Differences

Values shown as plain text
0Added
0Removed
0Changed
0Unchanged
Paste two JSON documents and press Compare.
About this tool

About JSON Diff Viewer

JSON Diff Viewer compares two JSON documents as data and shows what was added, removed, changed or left unchanged, including inside nested objects and arrays. Results appear in a colour-coded tree with paths, alongside summary counts and a copyable plain-text summary.

Text diffs of JSON are noisy: re-indenting or reordering keys makes every line look different. A semantic comparison ignores formatting and shows only real changes, which makes API responses, configuration files and test fixtures much easier to review.

How to use

Step by step

  1. Paste the original JSON on the left and the updated JSON on the right, or press Load sample.
  2. Choose whether object key order should be ignored and whether array order matters.
  3. Press Compare.
  4. Review the counts and the colour-coded tree; untick Show unchanged values to focus on differences.
  5. Press Copy diff summary to copy a plain-text list of every change.
Key features

What it offers

  • Semantic comparison that ignores whitespace and formatting
  • Added, removed, changed and unchanged values, including nested ones
  • Paths for every change, such as $.items[2].price
  • Option to ignore object key order (on by default)
  • Option to treat array order as significant (on by default)
  • Exact line-and-column parse errors for both documents
  • Copy diff summary, Swap sides and sample data
Best practices

Tips for best results

  • Keep array order significant for lists where position matters, such as steps or rankings.
  • Turn array order off for sets of tags or IDs where position doesn’t matter.
  • Format both documents first if you also need to review them as text.
  • Hide unchanged values when comparing large documents.
  • Remove secrets or personal data before sharing a copied summary.
Benefits

Why people use it

Signal, not noise

Only real data changes are reported.

Nested detail

See exactly which path changed.

Safe display

Values are shown as plain text, never as HTML.

Private

Both documents stay in your browser.

FAQ

Common questions

The documents are compared as data, not as text. Whitespace, indentation and line breaks make no difference — only the actual keys and values do.
Not by default: {"a":1,"b":2} and {"b":2,"a":1} are treated as equal. Untick “Ignore object key order” to also report objects whose keys appear in a different order.
By default array order matters, and items are aligned so an inserted item shows as one addition instead of many changes. Untick “Array order matters” to compare arrays as unordered collections.
By value, so 1.0 and 1 are equal. Integers larger than JavaScript can represent exactly are rounded, and the tool warns you when that happens.
No. Values are only ever displayed as plain text; nothing in your JSON is executed or rendered as HTML.
A plain-text list of every added, removed and changed path with its values, plus the totals — handy for code reviews or tickets.
No. Both documents are parsed and compared in your browser.
Private by design

This runs entirely in your browser

No file or text you enter here is uploaded. Encoding and decoding happen on your device using native browser APIs — close the tab and nothing remains on a server.

Install Toolisco Add it to your device for offline, one-tap access.