ShellCheck vs ESLint: open-source code quality and static analysis tools compared
Metrics as of , from the GitHub or GitLab API of each repository. Refreshed monthly.
Summary
ShellCheck: Static analysis tool that flags syntax, semantic and portability problems in bash and sh scripts.
ESLint: Pluggable linter that finds and reports patterns in JavaScript code using configurable rules.
Both are listed under Code quality and static analysis. The table gives repository metrics from the GitHub API with their fetch date, then the documented facts used for every comparison in this category, each linked to the README or docs page it comes from. A cell reads "not documented" when the fact was not found in the project's documentation; that does not mean the feature is absent.
Side by side
| Fact | ShellCheck | ESLint |
|---|---|---|
| Stars | 40,0671 | 27,5161 |
| Forks | 1,9461 | 5,1891 |
| Contributors | 1791 | 1,2491 |
| Last release | 2025-08-041 | 2026-09-181 |
| Last commit | 2026-09-211 | 2026-09-221 |
| Commits in 90 days | 91 | 1891 |
| License | GPL-3.01 | MIT1 |
| Primary language | Haskell1 | JavaScript1 |
| Status | active1 | active1 |
| Languages or files analysed | Shell scripts in the sh, bash, dash, ksh and BusyBox dialects source: Docs: shellcheck(1) manual | ECMAScript/JavaScript code; JSX parsing when enabled source: README |
| Configuration format | key=value directives in .shellcheckrc files and in script comments source: Docs: shellcheck(1) manual | JavaScript config file (eslint.config.js) source: README |
| CI integration | Pre-installed on Travis CI, CircleCI (ShellCheck Orb), GitHub (Linux), Codacy, Code Climate and other services source: README | Integrations page lists Mega-Linter, a community linters aggregator for CI that embeds ESLint source: Docs: Integrations |
| Report formats | JSON, CheckStyle XML, GCC-compatible warnings, plain text source: README | html, json, json-with-metadata, stylish; third-party formatters source: Docs: Formatters Reference |
| Install method | OS package managers (apt, pacman, dnf, brew, choco, winget and others); Docker image koalaman/shellcheck; binaries source: README | npm (npm init @eslint/config@latest) source: README |
1 Fetched from the GitHub or GitLab API on . Hover a value for its own date.
When each fits
Written from each project's documented scope, not from preference. Neither tool is ranked.
ShellCheck
Fits projects that contain bash or sh shell scripts; its README describes a static analysis tool that warns about syntax issues, semantic problems and pitfalls in those scripts. source: README
ESLint
Fits projects that lint ECMAScript/JavaScript code; its README describes a design in which every rule is a plugin and more rules can be added at runtime. source: README
More on these tools
Sources
- GitHub REST API: repository, read
- GitHub REST API: repository, read
- GitHub REST API: contributors, read
- GitHub REST API: contributors, read
- GitHub REST API: latest release, read
- GitHub REST API: latest release, read
- GitHub REST API: commits, read
- GitHub REST API: commits, read
- Docs: shellcheck(1) manual, read
- README, read
- README, read
- Docs: Integrations, read
- Docs: Formatters Reference, read
Documented facts collected 2026-09-22. See the methodology for how metrics and facts are gathered.