A mighty, modern linter that helps you avoid errors and enforce conventions in your styles.
It's mighty as it:
- has over 170 built-in rules for modern CSS syntax and features
- supports plugins so you can create your own rules
- automatically fixes problems where possible
- is well tested with over 15000 unit tests
- supports shareable configs that you can extend or create
- is unopinionated so that you can customize it to your exact needs
- complements pretty printers like Prettier
- has a growing community and is used by Google, GitHub and WordPress
And can be extended to:
- parse CSS-like syntaxes like SCSS, Sass, Less and SugarSS
- extract embedded styles from HTML, Markdown and CSS-in-JS object & template literals
How it'll help you
It'll help you avoid errors, for example styles that are:
- invalid, e.g. malformed hex colors and named grid areas
- valid but with unintended consequences, e.g. duplicated selectors and overridden properties
And enforce conventions, for example:
- what units, functions, at-rules etc are allowed
- consistent patterns for selector names, at-rule names, custom properties etc
- maximum specificity or maximum quantity of each selector type
- your preferred notation for color functions, font weight etc
There are also rules for enforcing stylistic consistency, but we now recommend you use Stylelint alongside a pretty printer like Prettier. Linters and pretty printers are complementary tools that work together.
- User guide
- Developer guide
- Migration guide
- Maintainer guide
Stylelint is maintained by volunteers. Without the code contributions from all these fantastic people, Stylelint would not exist. Become a contributor.
Thank you to all our sponsors! Become a sponsor.
Thank you to all our backers! Become a backer.