ESLint to Biome Rule Mapping Reference
A complete reference of which ESLint rules map to which Biome rules. Use this table to manually verify your migration or to find the Biome equivalent of a specific ESLint rule.
ESLint to Biome Converter
Convert your .eslintrc config to biome.json. Supports rule mapping for core ESLint, TypeScript, React, JSX-A11y, and import plugins. Extracts formatter settings from formatting rules.
Supported Rule Mappings
This tool maps 122 ESLint rules to their Biome equivalents across core, TypeScript, React, JSX-A11y, and import plugins.
| Category | Rules |
|---|---|
| suspicious | 32 rules |
| correctness | 30 rules |
| a11y | 27 rules |
| style | 17 rules |
| complexity | 13 rules |
| security | 2 rules |
| performance | 1 rules |
| Total | 122 rules |
How Biome organizes rules
Biome groups rules into categories: correctness (bugs and errors), suspicious (likely mistakes), style (code style preferences), complexity (unnecessary complexity), performance (performance issues), security (security vulnerabilities), a11y (accessibility), and nursery (experimental rules). Each ESLint rule maps to one Biome group and rule name.
Core ESLint rules
Most core ESLint recommended rules have Biome equivalents: no-unused-vars maps to correctness/noUnusedVariables, no-debugger to suspicious/noDebugger, prefer-const to style/useConst, no-eval to security/noGlobalEval. Formatting rules (indent, semi, quotes) are handled by Biome's formatter instead of linter rules.
TypeScript-ESLint rules
Biome covers the most important TypeScript-ESLint rules: no-explicit-any (suspicious/noExplicitAny), no-unused-vars (correctness/noUnusedVariables), consistent-type-imports (style/useImportType), ban-types (complexity/noBannedTypes), no-non-null-assertion (style/noNonNullAssertion). Biome v2 added type-aware rules for deeper TypeScript analysis.
React and JSX-A11y rules
Biome implements React Hooks rules (rules-of-hooks, exhaustive-deps), JSX rules (jsx-key, no-duplicate-props), and most JSX-A11y rules (alt-text, anchor-is-valid, aria-props, click-events-have-key-events). The react-hooks rules map to correctness/useHookAtTopLevel and correctness/useExhaustiveDependencies.
Rules without Biome equivalents
Some popular ESLint rules have no Biome equivalent: no-console (use a custom ignore pattern), no-restricted-syntax (no equivalent), no-param-reassign (not implemented), eqeqeq (not implemented as a rule), and most eslint-plugin-testing-library rules. These gaps are typically filled by Biome's recommended rules catching the underlying issues differently.
Frequently Asked Questions
How many ESLint rules does Biome support?
Biome implements 200+ rules that map to ESLint core, TypeScript-ESLint, React, JSX-A11y, import, and Unicorn rules. This converter maps 100+ of the most commonly enabled rules.
What happens to rules that have no Biome equivalent?
Rules without a Biome equivalent are listed in the warnings tab. You can either accept the gap, find a Biome-native alternative, or keep ESLint running alongside Biome for those specific rules during a gradual migration.
Does Biome have rules that ESLint does not?
Yes. Biome includes rules not found in standard ESLint, such as noAccumulatingSpread (performance), useOptionalChain (complexity), and noConstEnum (style). Running Biome recommended rules may catch issues that your ESLint config did not.
Related Convert Tools
TOML ↔ JSON/YAML
Convert between TOML, JSON, and YAML — perfect for Cargo.toml and pyproject.toml
Encode / Decode Multi-Tool
Base64, Base32, Hex, Binary, URL, and HTML encoding & decoding all in one tool
HTML to JSX Converter
Convert HTML to JSX instantly — class to className, inline styles to objects, self-closing tags, SVG attributes, event handlers, and more
JSON to Code Generator
Generate typed code from JSON in 8 languages — Go, Python, Java, C#, Dart, Rust, Swift, Kotlin structs and classes