ESLint
What it is
ESLint is a free, open source utility that statically analyzes JavaScript code to find problems and help fix them. Developers can run it from the command line or use its Node.js API for programmatic linting. Many issues can be corrected automatically with syntax-aware fixes. Every rule is pluggable, and additional rules and formatters can be loaded at runtime; users can also preprocess code, choose custom parsers and write custom rules alongside built-in ones. Documented editor integrations include Visual Studio Code, JetBrains IDEs, Vim, Neovim, Emacs and Sublime Text. Build and workflow integrations include Grunt, Webpack, Rollup, Git hooks and CI-oriented tools such as Mega-Linter. Plugins can extend support to JavaScript extensions, TypeScript, React, Angular, Markdown and other languages or frameworks. ESLint requires Node.js ^20.19.0, ^22.13.0 or >=24 with SSL and ICU support. The team continuously supports the current major version and offers limited support for the previous version for six months. Created by Nicholas C. Zakas in June 2013, ESLint is part of the OpenJS Foundation.
For and against
For
- Free and open source.
- Many problems can be fixed automatically.
- Rules and formatters are pluggable.
- Offers command-line and Node.js API access.
Against
- Requires a supported Node.js version with SSL and ICU.
- Previous major version receives limited support for six months.
The verdict
ESLint provides a customizable JavaScript linting workflow, with automatic fixes and integrations across editors and build tools. Check the Node.js requirement and version-support policy when choosing it for a project.
Who it suits
ESLint suits developers who want configurable static analysis and automatic fixes for JavaScript projects. Its editor, build and CI integrations support use across different coding workflows.
Plans and prices
Open source ESLint
JavaScript linting · npm installation · extensible rules and plugins
Read 30 Sep 2026 · eslint.org
On the record
- Automatic fixes
- Many problems ESLint finds can be automatically fixed with syntax-aware fixes.eslint.org · read 30 Sep 2026
- Build and CI integrations
- Documented integrations include Grunt, Webpack, Rollup, Git hooks, and CI-oriented tools such as Mega-Linter.eslint.org · read 30 Sep 2026
- Command line and API
- ESLint provides a command-line interface and a Node.js API for programmatic linting.eslint.org · read 30 Sep 2026
- Commercial support
- Commercial support is available through Tidelift for current and maintenance releases and HeroDevs for end-of-life releases.eslint.org · read 30 Sep 2026
- Customization
- Users can preprocess code, use custom parsers, and write custom rules alongside built-in rules.eslint.org · read 30 Sep 2026
- Editor integrations
- Official documentation lists integrations for Visual Studio Code, JetBrains IDEs, Vim, Neovim, Emacs, Sublime Text, and other editors.eslint.org · read 30 Sep 2026
- Governance
- ESLint is part of the OpenJS Foundation, which provides legal infrastructure and owns related intellectual property while not running day-to-day operations.eslint.org · read 30 Sep 2026
- Language ecosystem
- Plugins can add support for JavaScript extensions, TypeScript, React, Angular, Markdown, and other languages or frameworks.eslint.org · read 30 Sep 2026
- Node.js requirement
- ESLint requires Node.js ^20.19.0, ^22.13.0, or >=24 with SSL and ICU support.eslint.org · read 30 Sep 2026
- Open source
- ESLint is an open source JavaScript linting utility originally created by Nicholas C. Zakas in June 2013.eslint.org · read 30 Sep 2026
- Pluggability
- Every ESLint rule is pluggable, and additional rules and formatters can be loaded at runtime.eslint.org · read 30 Sep 2026
- Purpose
- ESLint statically analyzes JavaScript code to find and fix problems.eslint.org · read 30 Sep 2026
- Security reporting
- Security vulnerabilities should be reported through GitHub's create-an-advisory form.eslint.org · read 30 Sep 2026
- Version support
- The ESLint team supports the current major version continuously and the previous version with limited support for six months.eslint.org · read 30 Sep 2026