yamllint

What yamllint is
yamllint is free software for checking YAML syntax and style on Linux and macOS. It can identify duplicate keys, excessive line length, trailing spaces, and indentation problems. Rules can be enabled, disabled, or adjusted, including whether findings appear as errors or warnings. The project provides default and relaxed configurations and accepts custom configuration files. You can lint individual files, directories, or YAML streams from standard input. Its parsable output can feed workflows such as editor syntax highlighting. Documentation lists integrations for Vim, Neovim, Emacs, Visual Studio Code, and IntelliJ. Workflow integrations include pre-commit, GitHub Actions, GitLab CI/CD, and Arcanist. A Python module lets developers create custom linting tools. The project repository identifies a GPL-3.0 license. The listed plan is free, and the feature listing says yamllint has no autofix and no security rules.
Who it suits
It suits Linux and macOS users who need configurable YAML checks in editors, scripts, or CI workflows. Developers can also use its Python module to build linting tools.
What it does well
- Checks syntax, duplicate keys, spacing, and indentation
- Rules can be configured as errors or warnings
- Accepts files, directories, and standard-input streams
- Integrates with editors and CI workflows
- Provides a Python module for custom tools
What to know first
- No autofix feature listed
- No security rules listed
- Supports Linux and macOS platforms
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| yamllint | Open source YAML linter · runs as a script or Python module | Free |
As yamllint.readthedocs.io lists them, read 8 Oct 2026. The maker's own page has the final word.
Verdict
yamllint provides configurable YAML validation with broad editor and workflow integrations. Its free license and script or Python-module forms suit automated checks, while fixes remain manual.
Facts from yamllint's own pages
- Configuration
- It includes default and relaxed configurations and supports custom configuration files. · yamllint.readthedocs.io, 8 Oct 2026
- Editor integrations
- The documentation lists Vim, Neovim, Emacs, Visual Studio Code, and IntelliJ integrations. · yamllint.readthedocs.io, 8 Oct 2026
- Input
- It can lint individual files, directories, or YAML streams from standard input. · yamllint.readthedocs.io, 8 Oct 2026
- License
- The GitHub repository identifies the project license as GPL-3.0. · github.com, 8 Oct 2026
- Output
- It provides a parsable output format for use with tools such as editor syntax highlighting. · yamllint.readthedocs.io, 8 Oct 2026
- Platforms
- The installation guide lists packages for macOS, Debian and Ubuntu, Fedora and CentOS, FreeBSD, OpenBSD, and Alpine Linux, as well as installation with pip. · yamllint.readthedocs.io, 8 Oct 2026
- Purpose
- yamllint checks YAML syntax and issues such as duplicate keys, line length, trailing spaces, and indentation. · yamllint.readthedocs.io, 8 Oct 2026
- Python module
- The project provides a Python module that can be used to write custom linting tools. · yamllint.readthedocs.io, 8 Oct 2026
- Rules
- Its rules can be enabled, disabled, or adjusted, including whether a finding is an error or warning. · yamllint.readthedocs.io, 8 Oct 2026
- Workflow integrations
- The documentation describes integration with pre-commit, GitHub Actions, GitLab CI/CD, and Arcanist. · yamllint.readthedocs.io, 8 Oct 2026
Where yamllint stands on Freedom251
- Linters#31 of 33