eslint-plugin-tailwindcss weekly downloads statistics
By francoismassart · npm · ESLint plugins
Rules enforcing best practices while using Tailwind CSS
eslint-plugin-tailwindcss has 806,818 recorded weekly downloads on npm, a decrease of 45.6% over the past 30 days.
It ranks #201 of 2,251 tracked npm listings by weekly downloads.
Over 90 days, weekly downloads changed by -46.7%.
PluginStats has 543 daily observations since Apr 23, 2025; the latest is from Oct 17, 2026.
About eslint-plugin-tailwindcss
eslint-plugin-tailwindcss
• Best practices & consistency since 2021 • Made for Tailwind CSS v4 • 9 rules available and more on the way • What's new? Changelog | Release notes | Roadmap • Upgrade guide from v3 to v4
This project needs your help
I spent countless days working on this plugin, and it is available to everyone for free. If you benefit from my work and if you want to help me keep the project alive, consider becoming a sponsor.
| Premium sponsors | Current sponsors |
| | |
GitHub Sponsors | thanks.dev Sponsors
Rules
💼 Configurations enabled in.\ ⚠️ Configurations set to warn in.\ ✅ Set in the recommended configuration.\ 🔧 Automatically fixable by the --fix CLI option.\ 💡 Manually fixable by editor suggestions.
| Name | Description | 💼 | ⚠️ | 🔧 | 💡 |
| classnames-order | Enforces a consistent order for the Tailwind CSS classnames, based on the compiler. | | ✅ | 🔧 | | | enforces-canonical-classname | Enforces the canonical spelling of a classname, as resolved by the Tailwind CSS compiler. | | ✅ | 🔧 | | | enforces-negative-arbitrary-values | Warns about - prefixed classnames using arbitrary values. | | ✅ | 🔧 | | | enforces-shorthand | Avoid using multiple Tailwind CSS classnames when not required. | | ✅ | 🔧 | | | important-modifier-suffix | In v4 you should place the ! at the very end of the class name. | | ✅ | 🔧 | | | no-arbitrary-value | Forbid using arbitrary values in classnames. | | | | | | no-contradicting-classname | Avoid contradicting Tailwind CSS classnames. | ✅ | | | 💡 | | no-custom-classname | Detects classnames which do not belong to Tailwind CSS. | | ✅ | | 💡 | | no-unnecessary-arbitrary-value | Avoid unjustified arbitrary classnames. | | ✅ | 🔧 | 💡 |
Getting started
1. Install the plugin
npm i -D eslint-plugin-tailwindcss
• As it is a dev dependency, it will not affect your final bundle size 🪶 • It can be installed with other package managers such as pnpm • We support ESLint v10
If you are still using Tailwind CSS v3 and/or older ESLint versions, you can use eslint-plugin-tailwindcss@3.x.x
2. Edit your eslint.config file
Here is a very basic example:
cssConfigPath can be an absolute or a relative path. If you provide a relative path, the plugin will attempt to convert it into an absolute path.
Typesafe settings 🤓
The plugin also exports the type PluginSettings which you can use to benefit from autocomplete and validation directly inside your eslint.config file.
1. You may need to add // @ts-check to force type checking 2. Add the magic JSDoc comment /** @type {import('eslint-plugin-tailwindcss').PluginSettings} */
Here is a snippet, notice the object is surrounded by parentheses ({...}):
3. Going further
You can also:
• Run the linting process inside a pipeline of your hosted repository. I recommend running it on your merge/pull requests, rather than on every single (pre-)commit. • Auto-format on save in your favorite IDE.
Settings
Most of the rules solely use the shared settings (shared across all the plugin rules). Learn about eslint shared settings from the official documentation.
Here is a fully detailed example of shared settings:
The default settings are exported via the DEFAULT_SETTINGS.
Contributing
The project is open to all developers, you can contribute to eslint-plugin-tailwindcss.
However, make sure to discuss the issue or the feature you wish to implement prior to getting to work unless you feel adventurous.
Description from the npm listing.
- eslint
- eslintplugin
- eslint-plugin
- tailwind
- tailwindcss
- typescript
Where eslint-plugin-tailwindcss sits in the listing
Each band is one page of 20. Weekly downloads on a log scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Recent observations
Full history (543)Similar npm ESLint plugins plugins
Data source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/eslint-plugin-tailwindcss. First seen Oct 16, 2026; last successful collection Oct 18, 2026. See the methodology.