Skip to content
Lintense

The Best JavaScript & TypeScript Linters

From the ESLint standard to the new wave of Rust linters, ranked on rule coverage, speed, DX, and cost.

Last updated Jul 3, 2026

JavaScript and TypeScript linting is in the middle of a shift: ESLint still owns the ecosystem, while Rust-based tools like Biome and Oxlint chase it on raw speed. We compared the linters JS/TS teams actually deploy, scoring each on how much it catches, how fast it runs on real codebases, how painful it is to set up, and what it costs. Everything here is free and open-source; outbound links are labelled and never affect the ranking.

  1. 1

    ESLint

    Our pick

    The mature, endlessly pluggable standard for linting JavaScript and TypeScript projects.

    8.2
    / 10

    Pros

    • + The largest rule and plugin ecosystem of any JS/TS linter, covering nearly every framework and style guide
    • + Type-aware linting through typescript-eslint catches issues that syntax-only linters miss
    • + Free and open-source (MIT) with universal editor and CI support

    Cons

    • − Flat config and plugin sprawl make setup more involved than newer alternatives
    • − Slower than Rust-based linters on very large repositories
    • − Full type-aware linting adds meaningful configuration and run-time cost
    From $0.00
    Visit ESLint
  2. 2

    Biome

    Best value

    A fast Rust linter and formatter for JS/TS that aims to replace ESLint plus Prettier in one binary.

    8.5
    / 10

    Pros

    • + Lints and formats in one very fast binary, collapsing two tools into a single dependency
    • + Near-zero-config defaults and one config file make onboarding quick
    • + Free and open-source (MIT) with strong first-party editor integration

    Cons

    • − Rule coverage and third-party plugins trail ESLint significantly
    • − Limited to the JS/TS/JSON/CSS family of languages
    • − Some framework-specific and advanced rules are still missing
    From $0.00
    Visit Biome
  3. 3

    Oxlint

    Best for teams

    An extremely fast Rust JS/TS linter designed to run in a fraction of ESLint's time.

    8.4
    / 10

    Pros

    • + Blazingly fast — routinely 50x or more quicker than ESLint on large repos
    • + Runs usefully with zero configuration and a large set of ported rules out of the box
    • + Free and open-source (MIT), and can run alongside ESLint during migration

    Cons

    • − Younger project with narrower rule and plugin coverage than ESLint
    • − Type-aware linting is limited compared with typescript-eslint
    • − Custom-rule authoring is far less mature than ESLint's plugin API
    From $0.00
    Visit Oxlint
  4. 4

    StandardJS

    Best for beginners

    A zero-config, opinionated JavaScript linter and style enforcer with no rules to bikeshed.

    6.8
    / 10

    Pros

    • + Truly zero-config — install and lint with a single fixed, sensible rule set
    • + Eliminates style arguments and onboarding friction for small teams
    • + Free and open-source (MIT), built on the trusted ESLint engine

    Cons

    • − No configurability by design, so teams with custom conventions cannot adapt it
    • − Inherits ESLint's speed, so it is slow relative to Rust-based tools
    • − TypeScript support and modern tooling lag behind mainstream ESLint configs
    From $0.00
    Visit StandardJS
  5. 5

    quick-lint-js

    A tiny, near-instant JavaScript linter focused on catching obvious bugs as you type.

    7.4
    / 10

    Pros

    • + Extremely fast with real-time, as-you-type feedback in editors
    • + Zero configuration and immediately useful for catching obvious mistakes
    • + Free and open-source with a very small footprint

    Cons

    • − Deliberately narrow rule set — not a replacement for a full linter
    • − No configurable rules or plugin ecosystem
    • − Limited TypeScript and framework-specific coverage
    From $0.00
    Visit quick-lint-js

Side-by-side

The Best JavaScript & TypeScript Linters — score by criterion for each product.
Product Rule coverage & ecosystem Setup & developer experience Speed on large codebases Cost & licensing Overall
ESLint 9.6 7.5 6.0 10.0 8.2
Biome 7.2 8.8 9.5 10.0 8.5
Oxlint 6.8 8.5 9.9 10.0 8.4
StandardJS 5.5 8.0 5.8 10.0 6.8
quick-lint-js 4.5 8.2 9.7 10.0 7.4
How we scored this

Each linter is scored on four weighted criteria: rule coverage and ecosystem (weight 3), speed on large codebases (2), setup and developer experience (2), and cost and licensing (1). Scores reflect our own hands-on testing and the tools' documented behaviour, not vendor numbers. Rankings are editorial and independent of any affiliate relationship.