● compared entirely in your browser

YAML Diff Tool

Paste two YAML documents and see a structural diff — not a line diff, a real key-by-key comparison of the parsed data.

How it works

Both documents are parsed with js-yaml's load(), turning them into plain JavaScript values exactly like JSON.parse() does for JSON, then the checker recursively walks the union of every key across matching objects, flagging each one as added, removed, or changed. Nested objects are recursed into so a change deep inside shows up at its own dotted path (like database.port), but arrays are compared as whole values rather than element by element — the same structural approach used by this site's JSON diff checker, just fed through a YAML parser instead of a JSON one.

FAQ

Does this diff preserve YAML comments or anchors/aliases?
No — both documents are parsed into plain JavaScript values with js-yaml's load(), which resolves anchors and aliases into their expanded values and discards comments entirely, since neither has a representation once parsed. If two YAML documents differ only in comments, or one uses an anchor where the other repeats the same value literally, they'll compare as identical.
Does reordering keys show up as a difference?
No — keys from both documents are collected into a set before comparison, so reordering a, b, c to c, a, b produces zero differences. Only actual additions, removals, and value changes are reported, the same structural approach the JSON diff checker uses, applied to parsed YAML instead.

Free, unlimited, no account. If this saved you a paid tool, a small thanks is appreciated.

Say thanks — $3