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

How do I convert my ESLint config to Biome?

Paste your .eslintrc.json or module.exports config and get a biome.json with 100+ rule mappings from ESLint core, TypeScript-ESLint, React, JSX-A11y, and import plugins. The tool extracts formatter settings, detects extends presets (Airbnb, Standard, Prettier), and generates migration steps. Everything runs in your browser.

Convert ESLint config to Biome
Input
{
  "extends": ["eslint:recommended"],
  "rules": {
    "no-unused-vars": "error",
    "no-console": "warn",
    "eqeqeq": "error",
    "semi": ["error", "always"]
  }
}
Output
{
  "linter": {
    "rules": {
      "correctness": {
        "noUnusedVariables": "error"
      },
      "suspicious": {
        "noConsole": "warn"
      },
      "style": {
        "useStrictEquality": "error"
      }
    }
  },
  "formatter": {
    "semicolons": "always"
  }
}
Mapped: 4/4 rules (100%)
← 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

Tips & Best Practices

Pro Tip

Biome combines linting and formatting — replace Prettier too

Biome replaces both ESLint and Prettier in a single tool. Remove eslint-config-prettier, @typescript-eslint/parser, and all ESLint plugins. One biome.json replaces .eslintrc, .prettierrc, and .editorconfig. This typically removes 10-15 devDependencies.

Common Pitfall

Not all ESLint rules have Biome equivalents

Biome supports ~200 lint rules vs ESLint's ecosystem of thousands across plugins. Plugin-specific rules (eslint-plugin-react-hooks, eslint-plugin-import) may not have 1:1 mappings. Check the converter's warnings output for unmapped rules and assess whether you actually need them.

Real-World Example

Migrate incrementally with biome check --apply for auto-fixes

Don't fix all linting issues manually. Run biome check --apply to auto-fix safe issues (formatting, import sorting, simple lint fixes), then review biome check --apply-unsafe for riskier transformations. Commit the auto-fixes separately from manual fixes for clean git history.

Security Note

Biome's security rules catch patterns ESLint misses by default

Biome includes security rules (noGlobalEval, noDangerouslySetInnerHtml, noGlobalAssign) in its recommended preset — no extra plugins needed. ESLint requires eslint-plugin-security or manual configuration for equivalent coverage. After migrating, verify your security rules are still active.

Frequently Asked Questions

How do I migrate from ESLint to Biome?
Paste your ESLint configuration into DevBolt's ESLint to Biome Converter and it generates an equivalent biome.json. The tool maps over 100 ESLint rules to their Biome counterparts, translates rule severity levels, and extracts formatter settings from eslint-config-prettier. Biome is a fast Rust-based linter and formatter that replaces both ESLint and Prettier with a single tool, running 10-100x faster. After generating the Biome config, install Biome with npm install --save-dev @biomejs/biome, add it to your scripts, and remove ESLint and Prettier dependencies.
What ESLint rules does Biome support?
Biome supports equivalents for most commonly used ESLint core rules and popular plugin rules including eslint:recommended, @typescript-eslint/recommended, eslint-plugin-react, eslint-plugin-react-hooks, eslint-plugin-jsx-a11y, and eslint-plugin-import. Biome organizes rules into categories: correctness, suspicious, style, complexity, performance, and accessibility. Some ESLint rules have no direct Biome equivalent, particularly specialized plugin rules or rules requiring TypeScript type information. DevBolt's converter identifies unmapped rules and lists them separately so you know which need manual review after migration.
Why should I switch from ESLint and Prettier to Biome?
Biome combines linting and formatting in a single Rust-based tool that runs 10-100x faster than ESLint plus Prettier. This speeds up CI pipelines and editor feedback dramatically. Biome eliminates the configuration complexity of coordinating ESLint and Prettier. It provides consistent formatting without occasional conflicts between ESLint autofixes and Prettier. Biome requires a single biome.json instead of separate configs. The tradeoff is that Biome's rule library is smaller than ESLint's plugin ecosystem, so teams using niche plugins may need to keep ESLint for those specific rules.

Related Convert Tools