yamlfmt review
A configurable YAML formatter for recursive checks, CI workflows, and Go-based tooling.
Reviewed by iTechGuides Editors · Editorial team · Updated Oct 2026
yamlfmt is an open-source YAML formatter available as a standalone command-line binary or Go module. It is designed for teams maintaining YAML-heavy repositories across Windows, macOS, and Linux. Recursive formatting covers files and directories, while lint mode reports formatting differences and exits with a failure status. Dry-run mode shows which files differ without rewriting them, and standard input/output support fits shell-based workflows and automation.
Its strongest fit is repository-wide consistency with configurable path and output rules. Include and exclude settings can be combined with Gitignore-based exclusions, helping teams control which files are processed. Formatting options cover indentation, line endings, comments, whitespace, and quoting, with support for alternate KYAML formatting. That breadth makes yamlfmt suitable for repositories with varied YAML conventions, while the Go library provides an option for integrating formatting into Go tooling rather than relying only on the command line.
For automation, yamlfmt can run as a pre-commit hook or in containerized CI/CD workflows, with integrations listed for pre-commit, Docker, and GitLab CI. Its open-source licensing and free plan make it a practical choice when a YAML-focused formatter is preferred over a broader multi-language tool. Teams should choose it when recursive formatting, ignore-aware paths, lint checks, and configurable output matter most. It is less suitable for projects that require support for languages beyond YAML, formatting only changed lines, or an officially Google-supported project, since the project is maintained by an individual contributor and is not officially supported by Google.
yamlfmt pros and cons
- Where it wins
- Formats YAML files and directories recursively
- Supports lint, dry-run, standard input, and standard output modes
- Works with pre-commit, Docker, GitLab CI, and Go libraries
- Where it doesn't
- Supports YAML only
- Does not format changed lines only
- Maintained by an individual contributor, not officially by Google
yamlfmt fact sheet, pricing and score →
Advertiser disclosure: iTechGuides is reader-supported. Vendors can pay for top positions in our rankings and for a place on other products' pages, and we may earn a commission when you click some links. Bought places stand at the number bought; this page and our disclosure say so. Paying vendors may get a fuller, more detailed review from our editors, and that review can change their score. How we rank.
Last updated · How we research and update