Best Linters in 2026
Updated
In short: Biome is ranked #1 of 33 as of 5 October 2026, ahead of Cppcheck and PMD. The best-ranked option with a free plan is Cppcheck.
Linters help check code against rules and catch issues during development. Compare languages supported and IDE support with CI support to see how each option fits your editing and automated-check workflows. Autofix, custom rules, and security rules offer further points of comparison, while free-plan availability and paid-from pricing can help you weigh cost. The entries include Biome, Cppcheck, and PMD. Consider the languages and checks your projects need, then compare the listed capabilities to find options that fit your workflow.
33 linters ranked on what their makers publish — plans and prices, free tiers, platforms and the facts on their own pages.
12 of the 25 here have a free tier you can use, 0 have open-source code on record, and 0 have full bars: free, open, on most of your devices and documented.
| # | App | Signal | Free tier | Open code | Devices | From | Score |
|---|---|---|---|---|---|---|---|
| 1 | BiomeWeb · Windows · Mac · Linux · Extension | Three bars | — | 4 of 6 | Free | 6.6 | |
| 2 | CppcheckWindows · Mac · Linux · Self-hosted | Three bars | — | 3 of 6 | Free | 6.6 | |
| 3 | PMDWindows · Mac · Linux · Self-hosted | Three bars | — | 3 of 6 | Free | 6.6 | |
| 4 | RuffWeb · Windows · Mac · Linux · Self-hosted | Three bars | — | 4 of 6 | Free | 6.6 | |
| 5 | AstralWindows · Mac · Linux | Three bars | — | 3 of 6 | Free | 6.5 | |
| 6 | detektWindows · Mac · Linux | Three bars | — | 3 of 6 | Free | 6.5 | |
| 7 | golangci-lintWindows · Mac · Linux · Self-hosted | Three bars | — | 3 of 6 | Free | 6.5 | |
| 8 | LuacheckWindows · Mac · Linux · Self-hosted | Three bars | — | 3 of 6 | Free | 6.5 | |
| 9 | OxcWindows · Mac · Linux | Three bars | — | 3 of 6 | Free | 6.5 | |
| 10 | SQLFluffWindows · Mac · Linux · Self-hosted · API | Three bars | — | 3 of 6 | Free | 6.5 | |
| 11 | StylelintWindows · Mac · Linux · API | Three bars | — | 3 of 6 | Free | 6.5 | |
| 12 | ESLintSelf-hosted · API · Extension | Two bars | — | 0 of 6 | Free | 6.3 | |
| 13 | actionlintWeb · Windows · Mac · Linux | One bar | — | — | 4 of 6 | — | 5.4 |
| 14 | ClippyWindows · Mac · Linux | One bar | — | — | 3 of 6 | — | 5.4 |
| 15 | HadolintWeb · Windows · Mac · Linux | One bar | — | — | 4 of 6 | — | 5.4 |
| 16 | HLintWindows · Mac · Linux | One bar | — | — | 3 of 6 | — | 5.4 |
| 17 | PHPMDWindows · Mac · Linux | Two bars | — | — | 3 of 6 | — | 5.4 |
| 18 | ShellCheckWeb · Windows · Mac · Linux | One bar | — | — | 4 of 6 | — | 5.4 |
| 19 | StaticcheckWindows · Mac · Linux | One bar | — | — | 3 of 6 | — | 5.4 |
| 20 | SwiftLintWindows · Mac · Linux | One bar | — | — | 3 of 6 | — | 5.4 |
| 21 | cpplintWindows · Mac · Linux | One bar | — | — | 3 of 6 | — | 5.3 |
| 22 | yamllintMac · Linux | No signal | — | — | 2 of 6 | — | 5.3 |
| 23 | PassWebWeb | No signal | — | — | 1 of 6 | — | 5.2 |
| 24 | CheckstyleNo platforms listed | No signal | — | — | 0 of 6 | — | 5.1 |
| 25 | clang-tidyNo platforms listed | No signal | — | — | 0 of 6 | — | 5.1 |
Compare all 25 in a table
| # | App | Score | Free plan | From | Free plan | Paid from | Languages supported | Autofix |
|---|---|---|---|---|---|---|---|---|
| 1 | Biome | 6.6 | Free plan | Free | Yes | — | 17 | Yes |
| 2 | Cppcheck | 6.6 | Free plan | Free | Yes | — | 2 | — |
| 3 | PMD | 6.6 | Free plan | Free | Yes | — | 16 | — |
| 4 | Ruff | 6.6 | Free plan | Free | Yes | — | 1 | Yes |
| 5 | Astral | 6.5 | Free plan | Free | Yes | — | 1 | Yes |
| 6 | detekt | 6.5 | Free plan | Free | Yes | — | 1 | Yes |
| 7 | golangci-lint | 6.5 | Free plan | Free | Yes | — | 1 | Yes |
| 8 | Luacheck | 6.5 | Free plan | Free | — | — | 1 | — |
| 9 | Oxc | 6.5 | Free plan | Free | Yes | — | 2 | Yes |
| 10 | SQLFluff | 6.5 | Free plan | Free | Yes | — | 28 | Yes |
| 11 | Stylelint | 6.5 | Free plan | Free | Yes | — | 8 | Yes |
| 12 | ESLint | 6.3 | Free plan | Free | Yes | — | 1 | Yes |
| 13 | actionlint | 5.4 | No | — | — | — | — | — |
| 14 | Clippy | 5.4 | No | — | — | — | 1 | Yes |
| 15 | Hadolint | 5.4 | No | — | Yes | — | 2 | — |
| 16 | HLint | 5.4 | No | — | Yes | — | 1 | Yes |
| 17 | PHPMD | 5.4 | No | — | Yes | — | 1 | No |
| 18 | ShellCheck | 5.4 | No | — | Yes | — | 4 | Yes |
| 19 | Staticcheck | 5.4 | No | — | Yes | — | 1 | Yes |
| 20 | SwiftLint | 5.4 | No | — | — | — | 1 | Yes |
| 21 | cpplint | 5.3 | No | — | — | — | 2 | Yes |
| 22 | yamllint | 5.3 | No | — | Yes | — | 1 | No |
| 23 | PassWeb | 5.2 | No | — | Yes | — | 1 | Yes |
| 24 | Checkstyle | 5.1 | No | — | Yes | — | 1 | — |
| 25 | clang-tidy | 5.1 | No | — | — | — | 3 | Yes |
Is your app on this list?
Numbered spots on this list can be sponsored, and a sponsored row is labelled as paid.
Questions about this list
Which linter is ranked first on Freedom251?
Biome is ranked #1 of 33 with a score of 6.6. Cppcheck is second and PMD third.
How many of these have a free plan?
12 of the 25 on this page publish a free plan on their own pricing pages.
How is this list ranked?
Ranked free-and-open first: a usable free tier and open-source code, then the platforms it runs on and its documentation.









