I love "dyff". I really do. For a long time, it was the best CLI tool for comparing YAML files for me.
But I was tired of typing "dyff between " every time. Every time thinking: why "between"? A diff tool should just... diff.
That small friction was the start. Then I submitted a PR and waited five months with no response. The project seemed to have stalled.
dyff is a well-built tool that popularised structural YAML diffing, and I have a lot of respect for it. Maintaining open source is hard, and I don't blame anyone for stepping back. But I needed a tool I could rely on and evolve — so I built one.
Meet diffyml.
→ "diffyml file1.yaml file2.yaml". No subcommands, no ceremony.
→ Faster than dyff at every file size tested.
→ 1 runtime dependency vs dyff's 14 — just yaml.v3 and the Go stdlib. Fewer deps = smaller attack surface.
→ Lowest memory footprint at every file size tested (18.4 MB at 5K lines vs 21–326 MB for alternatives).
→ Kubernetes-aware — auto-detects resources by apiVersion/kind/metadata and tracks renames as moves, not remove + add.
→ Git-native — works as GIT_EXTERNAL_DIFF and KUBECTL_EXTERNAL_DIFF drop-in replacement.
→ CI/CD annotations — GitHub Actions, GitLab CI, and Gitea output formats built in.
→ Directory comparison — compares entire directories, matching files by name.
But what about code quality?
→ 1,400+ tests — unit, end-to-end, property-based, and fuzz.
→ 99.9% code coverage on core logic, with mutation testing on every PR.
→ CI runs govulncheck, golangci-lint, CodeQL, and OpenSSF Scorecard.
It's out now, MIT-licensed. Install via Homebrew tap or go install.
Try it, and if you like it, leave it a star, so other fellow YAML developers can discover it too!
szhekpisov
/
diffyml
A fast, structural YAML diff tool — in a single-dependency binary
diffyml
A fast, structural YAML diff tool with built-in Kubernetes intelligence. One dependency, minimal attack surface, native CI annotations for GitHub, GitLab, and Gitea.
diffyml compares YAML files and shows meaningful, structured differences — not line-by-line text diffs.
📖 Full documentation: szhekpisov.github.io/diffyml
Table of Contents
- Why diffyml?
- How It Compares
- Installation
- Quick Start
- Features
- Usage
- Library Usage
- Security & Code Quality
- Contributing
- Acknowledgments
- License
Why diffyml?
Fastest structural YAML diff tool at scale. On large (5K lines) and xlarge (50K lines) inputs diffyml is 1.5–1.9× faster than the nearest YAML-aware competitor. On small and medium files it ties within a few…

Top comments (0)