DevTools

Data Diff

Compare two JSON, YAML, or TOML documents by structure, not text: added, removed, and changed values with their paths. Key order and formatting are ignored. Runs in your browser.

Prefer the terminal? See the CLI equivalent →
Loading tool…

About the Data Diff

  • JSON, YAML & TOML
  • Structural, not text, diff
  • Changes highlighted in both editors
  • Instant results
  • 100% private — runs in your browser
  • Free, no sign-up

Compare two documents by meaning rather than text — in JSON, YAML, or TOML. Key order and whitespace are ignored, so only real differences show up: each is reported as added, removed, or changed, with a path like $.config.retries or $.items[2].

This is far more useful than a line-based text diff for configs and API responses, where the same data is often formatted or ordered differently. A reordered mapping counts as identical; a genuinely new or changed value is what gets flagged — and it’s highlighted in place in the editors (JSON and YAML).

Pick the format, paste a document on each side — or send one in from another tool to prefill the left — and the differences update live. Everything runs in your browser; nothing is uploaded.

How to use it

  1. Choose the format (JSON, YAML, or TOML).
  2. Paste the “before” on the left and the “after” on the right.
  3. Read the summary — added / removed / changed counts.
  4. Scan the list and the in-editor highlights; edit either side to update live.

How the comparison works

Mapping keys
Compared by name, not order — reordering is not a difference.
Arrays / sequences
Compared by index; a shorter/longer list shows added or removed items.
added
A path present on the right but not the left.
removed
A path present on the left but not the right.
changed
A path whose value (or type) differs between the two.
Highlighting
Inline in the editors for JSON and YAML; TOML shows the list only.

Frequently asked questions

Which formats can it compare?+

JSON, YAML, and TOML. Both sides must be the same format. Because it parses each document to a plain structure before comparing, the diff logic is identical across formats.

How is this different from a text diff?+

A text diff compares characters and lines, so reformatting or reordering keys shows up as noise. This parses both sides and compares them structurally, reporting only real semantic differences with their paths.

Are the differences highlighted in the editors?+

Yes for JSON and YAML — removed/old values are highlighted in the Before editor and added/new values in the After editor. TOML shows the path-based diff list only, because its parser doesn’t expose source positions.

Does key order matter?+

No. Object/mapping keys are matched by name, so a reordered mapping is considered identical. Array and sequence order is significant, since order carries meaning there.

Is my data uploaded?+

No. Both documents are parsed and compared entirely in your browser; nothing is sent to a server.

Works well with

Data Diff chains with these tools — send your result straight on:

Related tools