Vale
What it is
Vale is an open-source command-line linter that checks prose against style-guide rules. It runs offline as a single binary without an account, server, or model, and supports Linux, macOS, Windows, web, and self-hosted use. Supported markup includes Markdown, AsciiDoc, reStructuredText, MDX, MyST, Quarto, Typst, HTML, XML, DITA, Org, and QDoc. Vale can extract comments from 19 programming languages, including Go, Rust, Python, JavaScript, TypeScript, and Java. Vale Views targets selected content in OpenAPI files, Jupyter notebooks, commit messages, transcripts, docstrings, JSON, YAML, and TOML. Users can write YAML rules and apply chosen styles, with packages such as Google, Microsoft, Red Hat, readability, and Harper grammar. Editor integrations include VS Code, Cursor, Neovim, JetBrains IDEs, Obsidian, and others. It also runs in GitHub Actions and pre-commit hooks.
For and against
For
- Runs offline without an account
- Supports many markup formats
- Custom YAML rules and style packages
- Broad editor integration list
- Language server offers diagnostics and quick fixes
Against
- Only error alerts fail CI
- Warnings and suggestions pass in CI
- Paid plans start at $19/user/mo
The verdict
Vale provides offline, customizable prose linting across documentation formats and development workflows. Its CI behavior distinguishes blocking errors from non-blocking warnings and suggestions.
Who it suits
Vale suits writers, developers, and documentation teams that want style checks in editors and alongside code. It is useful for teams maintaining custom terminology, brand voice, or other rule sets.
Plans and prices
Vale
Free · MIT-licensed · open-source
Read 29 Sep 2026 · vale.sh
On the record
- Alert behavior
- Only error-level alerts cause Vale to return a non-zero exit code; warnings and suggestions pass in CI.docs.vale.sh · read 29 Sep 2026
- Automation
- Vale can run in GitHub Actions, as a pre-commit hook, and through its language server in LSP-capable editors.vale.sh · read 29 Sep 2026
- Code comments
- Vale can extract and check comments in 19 programming languages, including Go, Rust, Python, JavaScript, TypeScript, and Java.vale.sh · read 29 Sep 2026
- Custom rules
- Users can write their own Vale rules in YAML and configure which rules and styles apply to files.docs.vale.sh · read 29 Sep 2026
- Documentation platforms
- Mintlify and Promptless are listed as hosted documentation platforms that run Vale.vale.sh · read 29 Sep 2026
- Editor integrations
- Listed editor integrations include VS Code, Cursor, Windsurf, Neovim, Sublime Text, Zed, Emacs, JetBrains IDEs, Obsidian, Oxygen XML, and Qt Creator.vale.sh · read 29 Sep 2026
- Intended users
- Vale is aimed at people and teams who want style-guide checks in their editors and alongside their code, including documentation teams.vale.sh · read 29 Sep 2026
- Language server
- Vale’s language server provides editor autocomplete, diagnostics, hover popups, and quick fixes.docs.vale.sh · read 29 Sep 2026
- Markup formats
- Vale supports markup including Markdown, AsciiDoc, reStructuredText, MDX, MyST, Quarto, Typst, HTML, XML, DITA, Org, and QDoc.vale.sh · read 29 Sep 2026
- Offline use
- Vale runs offline as a single binary, without an account, server, or model.vale.sh · read 29 Sep 2026
- Purpose
- Vale is an open-source command-line linter that checks prose against style-guide rules.vale.sh · read 29 Sep 2026
- Structured content
- Vale Views can select prose in OpenAPI, Jupyter notebooks, commit messages, transcripts, docstrings, JSON, YAML, and TOML.vale.sh · read 29 Sep 2026
- Style packages
- Vale offers ready-made packages including Google, Microsoft, Red Hat, readability, and Harper grammar styles.vale.sh · read 29 Sep 2026
- Support
- The project directs users to GitHub issues or Discord for questions and support.vale.sh · read 29 Sep 2026