DevBolt
Processed in your browser. Your data never leaves your device.

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.

← Back to tools

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.

Samples:
Ctrl+Enter to convert

Supported Rule Mappings

This tool maps 122 ESLint rules to their Biome equivalents across core, TypeScript, React, JSX-A11y, and import plugins.

CategoryRules
suspicious32 rules
correctness30 rules
a11y27 rules
style17 rules
complexity13 rules
security2 rules
performance1 rules
Total122 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