Structured data · JSON, XML, YAML

Compare JSON, XML and YAML by structure

See what changed in the data, not in the formatting: different key order, indentation, line breaks or comments don’t count. Differences are listed by path, such as users[id=3].email, and you can copy a single node to the other side. Everything happens in your browser — nothing is uploaded.

What it does

Compares the data only

JSON key order, number formats (1.0 vs 1), comments and trailing commas; XML attribute order, self-closing tags and CDATA; YAML flow and block styles, anchors and merge keys — none of these count as differences.

Arrays matched by id

Arrays of objects are matched by fields such as id, key or name, so inserting one element doesn’t make every later one “different”. Pick another field or match by position if you prefer.

Differences by path

A side-by-side tree shows only the nodes that differ, expanded to each difference; F7 / F8 jump between them.

Copy single nodes

Select a node and copy it across — replaced, inserted or deleted — changing only that spot and keeping the rest of the file’s formatting and comments. Undo any time.

Structure and text views

Switch to the text view to read line by line or edit directly; saving keeps the file’s encoding and line endings.

Your files stay on your computer

API responses and secrets in config files never leave your machine.

Questions

Are my files uploaded?

No. Files are parsed and compared in your browser. Our servers never receive their contents or names.

Which files are supported?

JSON (including JSONC with comments, such as tsconfig.json), XML (including .csproj, .svg and .plist) and YAML (.yaml, .yml), up to 5 MB each. YAML files over 3 MB are compared as text only.

What if a file has a syntax error?

You’re told which side and which line has the error, and you can compare and fix it in the text view.

Compare your data files now

Start comparing