Vale CMS Need more than a rule playground? Explore

Press

Writing about Vale.

A description to quote, the facts most often asked for, the words the project uses, and the claims to avoid. Logos, colors, and screenshots are on the brand page.

About Vale

The numbers are read from GitHub and the package registries at build time.

Vale is an open-source, command-line linter for prose. It checks Markdown, HTML, reStructuredText, AsciiDoc, and other markup against a style guide expressed as rules, the way a code linter checks source. It runs offline, ships as a single binary, and is used by documentation teams at AWS, NVIDIA, Microsoft, GitLab, and Red Hat.

Boilerplate · 53 words

First release
February 2017
License
MIT
Written in
Go
Maintainer
@jdkato
GitHub stars
6.1K
Downloads
13.3M+
Contributors
63

Numbers updated 2026-08-28.

Product

The session from the home page, with the styles you pick. Every line is Vale's own output over the same two files; nothing is typed in. Download it as it stands, for a slide or a post.

Styles
bash — vale
$ vale sync
SUCCESS Synced 1 package(s) to 'styles'.
$ vale docs/
docs/configure.md
3:7 suggestion Consider using 'use' instead of 'utilize'. Microsoft.Wordiness
3:46 suggestion 'are loaded' looks like passive voice. Microsoft.Passive
8:13 error Use 'Vale CLI' instead of 'Vale cli'. Docs.Terms
8:18 error Did you really mean 'cli'? Vale.Spelling
8:22 suggestion Verify your use of 'against' with the A-Z word list. Microsoft.Vocab
docs/install.md
3:56 warning Use 'select' instead of the input-specific verb 'Click'. Microsoft.UIVerbs
4:47 error Use 'for example' instead of 'e.g. '. Microsoft.Foreign
5:10 error Did you really mean 'existant'? Vale.Spelling
5:59 warning Try to avoid using first-person plural like 'We'. Microsoft.We
5:62 error Use 'don't' instead of 'do not'. Microsoft.Contractions
5 errors, 2 warnings and 3 suggestions in 2 files.
Exports follow the page's theme.

Getting it right

The name is Vale, capital V, and vale when you mean the command. Not VALE, and not Vale.sh. Below, the claims that keep coming back, each with the sentence to use instead.

  • Vale is just regex.

    Vale parses each format it supports, Markdown, MDX, AsciiDoc, reStructuredText, HTML, XML, DITA, Org, Typst, and the comments in source code, into scopes, so a rule knows whether a match sits in a heading, a sentence, a link, or a code block, and reports the line and column in the original file. Two of its twelve check types match patterns. The others tag parts of speech, count occurrences, measure readability, check spelling against Hunspell dictionaries, enforce capitalization styles, and run scripts.

  • Vale can’t check grammar.

    Grammar is a style you add, like any other. The Harper style ports Automattic’s Harper grammar checker into 547 Vale rules, each carrying its fix, and agrees with Harper on 99.8% of what it flags. It is at github.com/vale-cli/Harper.

  • Vale sends your text somewhere.

    It is a single binary that runs offline. No account, no server, no model.

  • Vale is opinionated.

    It ships almost no rules. The opinions come from the style you pick or write: Microsoft, Google, Red Hat, or your own.

Glossary

The words the project uses for its own parts. The documentation has the full definitions.

Style
A folder of rules, usually one per style guide.
Rule
One YAML file that extends a check type, such as existence or spelling. Also called a check.
Package
A style, or a bundle of them, that vale sync downloads.
StylesPath
The directory the styles live in.
Alert
One finding, at a level of suggestion, warning, or error.
Scope
The part of a document a rule applies to: headings, sentences, code, and so on.
Vocabulary
A list of accepted and rejected terms layered over a style.
Action
A fix a rule can propose, which editors apply.

Contact

Vale is built and maintained by Joseph Kato. For a quote, a correction, or a question the pages don’t answer, the fastest route is an issue or a message on Discord.