JSON Compare

A structural JSON diff: key order does not matter, array items can be matched by id, and every change is listed by path.

Processed in your browser. Files never leave your device.

How it works

  1. Paste or upload the two JSON documents.
  2. Choose how arrays are matched: by an id-style field, by position, or ignoring order.
  3. Optionally ignore noisy keys such as updatedAt and set a number tolerance.
  4. Compare, then download the change list or copy an RFC 6902 JSON Patch.

A JSON diff that understands structure

Text diff tools report noise when two JSON files have the same data in a different key order, or when an API returns the same list sorted differently. Structura parses both documents and compares values, so you see real changes only: a field that was added, a value that changed, an item that disappeared from a list.

Use it to check API responses between releases, compare configuration files across environments, review fixture or snapshot changes, or confirm what a migration did to exported records. Both documents stay in your browser.

What it handles

Worked example

Load the example and compare. With updatedAt ignored and users matched by id, Structura reports that Ada's email changed, Grace gained a role, Alan was removed, Mary was added, version went from 3 to 4, settings.timeout is new, and settings.retries changed type from number to string. The reordered keys and users are not reported.

Limits

Each document can be up to about 5 MB. Input must be valid JSON; JSON Lines and comments are not supported.

Related tools: CSV & Excel Compare · PDF Compare · CSV Cleaner · CSV Import Validator · Data Profiler

FAQ

Does my data get uploaded or stored?

No. Processing runs entirely in your browser. Structura does not upload your files for processing and does not keep file contents on a server. Closing the tab clears the in-memory copy.

Is processing private / local-only?

Yes for the tool’s job. Your files stay on the device. Optional Cloudflare Web Analytics may record page views and anonymous events such as tool runs and downloads, never file contents or file names.

Does the order of keys matter?

No. Objects are compared by key, so {"a":1,"b":2} and {"b":2,"a":1} are equal.

How are arrays compared?

By default, items that are objects with the key field (for example id) are matched by that field. You can switch to comparing by position, or to treating the array as an unordered set.

Can I ignore fields like timestamps?

Yes. List them under Ignore keys. Any object key with that name is skipped at every level.

What is a JSON Patch?

A standard (RFC 6902) list of add, remove, and replace operations that turns the original document into the changed one. Structura generates it when arrays are compared by position.

Do I need an account?

No. All Structura tools are free to use without signup.

Need a data tool we don’t have yet?

Tell us what you are trying to convert, clean, compare, or validate. We prioritize tools based on real requests. Want YAML or XML comparison, or JSON Schema change detection?

Request a tool →