Files stay on your device

Compare YAML files

Compare config files by what they actually set. Key order, string quoting and comments never show up as differences.

How to compare YAML files

  1. Add both YAML files

    Drop .yml or .yaml files, or paste the content. Files with several documents separated by --- are supported.

  2. Adjust the options

    Choose how list items are matched, and list any keys to skip, like generated timestamps.

  3. Check the changes

    Every change shows its path, like database.pool or services.web.ports[0], with the old and new values.

What Matchcheck does

Settings, not syntax

Reordered keys and edited comments don't count, so you see only the changes that affect behaviour.

Works with real configs

Kubernetes manifests, Docker Compose files, GitHub Actions workflows, Ansible playbooks and app settings all compare cleanly.

Precise paths

Changes are shown as paths like spec.containers[name=web].image, so you can find them quickly.

Private by design

Config files often hold hostnames and secrets. Matchcheck compares them on your device and never uploads them.

Questions and answers

Are comments compared?

No. Comments are ignored because they don't change how the file is read. Use the text comparison if you want to see comment changes too.

Does quoting matter?

Only when it changes the type of a value. 'web' and "web" are the same, but "8080" (text) and 8080 (a number) are flagged, because many programs treat them differently.

Can it compare Helm charts?

Plain YAML, yes. Helm templates with {{ }} placeholders aren't valid YAML until they're rendered, so compare the rendered output, or use the text comparison.

Are anchors and aliases supported?

Yes. Anchors and aliases are expanded, so you compare the values the file really produces.

More comparison tools