Comparison

ESLint vs Ruff

No clear leader: Ruff (74.0) and ESLint (73.6) are within the 5-point margin; treat as a tie. The attribute-by-attribute breakdown below, with a source and date on every value, is the honest way to compare them.

Machine formatsJSONMarkdownGraphQLor send Accept: application/json
ESLint74
Ruff74
Score
Vioscale score
ESLint74 / 100high · 79%updating
Ruff74 / 100high · 76%updating
Pricing
Free tier
ESLint
Ruff
Model
Price level
ESLintfree
Ruff
Integrations
Count
ESLint2
Ruff6
Adoption
Dependent repos
ESLint1,569,244
Ruff5,870
Github stars
ESLint27,484
Ruff49,341
Package downloads weekly
Activity
Commits last 30d
ESLint50
Ruff100
Release
Cadence days
ESLint13
Ruff7
History
License
Spdx
ESLintMIT
RuffMIT
Language
Primary
RuffRust
Market

Capabilities

Feature-by-feature on the axes that matter for code quality tools. “-” means undocumented, not absent.

Core
Function
ESLintLinter + formatter
RuffLinter
Language scope
ESLintSingle-language
RuffSingle-language
Implementation language
ESLintJavaScript
RuffRust
Capability
Autofix
ESLint
Ruff
Config
Config model
ESLintConfig file
Ruff-
Extensibility
Custom rules
ESLint
Ruff-
Deployment
Deployment
ESLintCLI-local
RuffCLI-local
Delivery
Editor integration
ESLint
Ruff
CI / VCS gating
ESLint
Ruff-
Insight
Code metrics
ESLint-
Ruff-
Performance
Incremental / monorepo aware
ESLint-
Ruff
Licensing
Open-source
ESLintOSS
RuffOSS
Commercial
Pricing model
ESLintFree
RuffFree

What each one is

The product in its own terms, so the numbers below have context.

ESLint

An open-source linter and fixer for JavaScript and JSX that runs locally in editors and CI pipelines. It uses AST analysis to catch problems and can automatically fix many issues, with full support for custom rules and extensibility.

Independently observed

Ruff

A fast Python linter built in Rust that consolidates multiple linting tools into a single interface. It supports over 500 rules, provides automated fixes for common issues, and runs significantly faster than traditional Python linters on even very large codebases.

Independently observed

Pricing

List pricing as published by each vendor, with the date we read it. Always verify at the source before you buy.

ESLint

Open sourceFree tier

Free open source

  • Open SourceFree
    • Find issues in JavaScript code
    • Automatically fix problems
    • Custom parsers
    • Custom rules
    • Text editor integration
    • +1 more
as of verify ↗

Ruff

Pricing not documented yet.

Platform & deployment

Where each product runs and how it can be hosted. A dash means undocumented, not unsupported.

Platforms
macOS
ESLint
Ruff
Windows
ESLint
Ruff
Linux
ESLint
Ruff
CLI
ESLint
Ruff
Deployment
Self-hosted
ESLint
Ruff

Integrations

What each product connects to. Counts come from the vendor's own integration directory where one exists.

ESLint

2 total
  • eslint-plugin-react
  • eslint-plugin-unicorn
Independently observed

Ruff

6 total
  • Flake8
  • isort
  • Autoflake
  • Pyflakes
  • pycodestyle
  • Pylint
Independently observed

Comparison generated from independently-sourced facts. Every value links to its source and retrieval date. See the method.