ESLint changed JavaScript development. But it's 2026, and your linter still takes 30 seconds on CI, requires 15 plugins, and crashes when you add the wrong config extension.
What if your linter ran in milliseconds, needed no plugins, and caught more bugs out of the box?
That's Oxlint — a Rust-based JavaScript/TypeScript linter that's 50-100x faster than ESLint.
Speed Comparison
| Project size | ESLint | Oxlint | Speedup |
|---|---|---|---|
| 100 files | 3.2s | 0.03s | 106x |
| 1,000 files | 28s | 0.28s | 100x |
| 10,000 files | 4.5min | 2.8s | 96x |
This isn't "slightly faster." It's two orders of magnitude.
Quick Start
npx oxlint@latest .
That's it. No config file needed. No plugin installation. It just works.
What Oxlint Catches Out of the Box
500+ rules from these ESLint plugins — built in, not installed separately:
- eslint core rules (no-unused-vars, no-undef, eqeqeq)
- typescript-eslint (no-explicit-any, prefer-optional-chain)
- eslint-plugin-react (jsx-no-target-blank, no-array-index-key)
- eslint-plugin-react-hooks (rules-of-hooks, exhaustive-deps)
- eslint-plugin-import (no-duplicates, no-self-import)
- eslint-plugin-unicorn (better-regex, prefer-array-flat-map)
- eslint-plugin-jest (no-disabled-tests, valid-expect)
- eslint-plugin-jsdoc (check-access, check-param-names)
- eslint-plugin-n (no-deprecated-api)
- eslint-plugin-promise (no-nesting, always-return)
Configuration (When You Want It)
// .oxlintrc.json
{
"rules": {
"no-console": "warn",
"no-debugger": "error",
"typescript/no-explicit-any": "error",
"react/jsx-no-target-blank": "error"
},
"ignorePatterns": ["dist/", "node_modules/"]
}
Use Alongside ESLint (Transition Strategy)
Don't rip out ESLint overnight. Use both:
// package.json
{
"scripts": {
"lint:fast": "oxlint .",
"lint:full": "eslint . --cache",
"lint": "npm run lint:fast && npm run lint:full"
}
}
Run Oxlint first (milliseconds) → catches 80% of issues → ESLint second for custom/complex rules only.
CI Integration
# .github/workflows/lint.yml
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npx oxlint@latest . --deny-warnings
Your lint step goes from 30 seconds to under 1 second.
When to Choose Oxlint
Choose Oxlint when:
- CI lint time is a bottleneck
- You want instant feedback in pre-commit hooks
- Starting a new project — zero config setup
- You use standard ESLint rules (no custom plugins)
Stick with ESLint when:
- You rely on custom ESLint plugins with no Oxlint equivalent
- You need AST-based custom rules for your organization
- You use eslint-plugin-tailwindcss or other framework-specific plugins
The Bottom Line
Oxlint doesn't try to replace ESLint's extensibility — it replaces its speed. For the 80% of rules everyone uses, Oxlint does it 100x faster with zero setup.
Start here: oxc.rs/docs/guide/usage/linter
Need custom data extraction, scraping, or automation? I build tools that collect and process data at scale — 78 actors on Apify Store and 265+ open-source repos. Email me: Spinov001@gmail.com | My Apify Actors
Top comments (0)