JSON diff checker

Paste two JSON documents and get a structural diff — added, removed, and changed values by path, with key order and formatting ignored.

A structural diff, not a text diff

A line-based diff tool treats JSON as text, so re-indenting a file or letting a serializer reorder keys makes everything look changed. This JSON diff checker parses both documents first and compares the resulting structures, so it reports only real differences: values that were added, removed, or changed.

Every difference is addressed by its path — dot notation for object keys, brackets for array indices — so users[2].address.city tells you exactly where to look. Objects are compared key by key (order ignored), arrays index by index unless you turn on Ignore array order.

What it's good for

  • Comparing two API responses to see what a deploy actually changed
  • Reviewing config files — package.json, tsconfig, cloud manifests — before and after an edit
  • Verifying that a migration or export/import round-trip preserved your data
  • Spotting the one field a teammate changed in a large fixture file

If one side won't parse, the error is shown per side with the position where parsing failed, so you can fix the document and compare again.

Frequently asked questions

Does the diff ignore key order and formatting?

Yes. Both documents are parsed and compared structurally, so {"a":1,"b":2} and a re-indented {"b":2,"a":1} come out identical. Only actual value differences are reported.

What does the Ignore array order option do?

By default arrays are compared position by position, so a reordered list shows up as changes. With Ignore array order on, arrays are compared as multisets — each item matched by value regardless of position. The tradeoff: items lose their index, so a modified item is reported as one removal plus one addition.

Is my JSON uploaded anywhere?

No. Parsing and diffing happen entirely in your browser — nothing you paste leaves your machine.

How are differences reported?

As a flat list of paths, like users[2].name, each marked added (only in the right document), removed (only in the left), or changed (present in both with different values). Long values are truncated — click one to expand it.

How big can the documents be?

There is no hard limit — the diff runs in your browser, so it depends on your machine. Documents in the megabytes range work fine; truly huge files may take a moment to compare.

Related free tools

See all free tools →

Built something? Put it online in seconds

host0 is the cloud for small software: bring any coding agent, build the tool only you need — like this one — and say "deploy to host0". Live at a shareable URL, no servers to run.