Introduction
Biome is a high-performance, all-in-one toolchain for web development. It combines a code formatter, linter, and import organizer into a single Rust binary that runs 25-35x faster than the equivalent Prettier + ESLint setup. Originally forked from Rome (created by Sebastian McKenzie, also the creator of Babel), Biome has grown into an independent project with a vibrant community.
With 24,000+ GitHub stars and rapidly growing adoption, Biome represents the next generation of web development tooling — replacing multiple JavaScript-based tools with a single, blazing-fast native binary.
What Biome Does
Biome eliminates the need to install and configure Prettier, ESLint, and import-sorting plugins separately. A single "biome check --write" command formats your code, lints it for errors, and organizes your imports — all in milliseconds. It supports JavaScript, TypeScript, JSX, TSX, JSON, and CSS.
Architecture Overview
[Source Files (JS/TS/JSX/TSX/CSS/JSON)]
|
[Biome Core (Rust)]
Single binary, zero deps
|
+-----------+-----------+
| | |
[Formatter] [Linter] [Import Sorter]
97% Prettier 290+ rules Automatic
compatible including grouping and
a11y, perf alphabetizing
| | |
+-----------+-----------+
|
[Output: formatted,
linted, organized]
Speed: 25-35x faster than
Prettier + ESLintSelf-Hosting & Configuration
// biome.json — configuration
{
"$schema": "https://biomejs.dev/schemas/1.9.0/schema.json",
"organizeImports": {
"enabled": true
},
"formatter": {
"enabled": true,
"indentStyle": "space",
"indentWidth": 2,
"lineWidth": 100
},
"linter": {
"enabled": true,
"rules": {
"recommended": true,
"complexity": {
"noExcessiveCognitiveComplexity": "warn"
},
"correctness": {
"noUnusedVariables": "error",
"useExhaustiveDependencies": "warn"
},
"suspicious": {
"noExplicitAny": "warn"
}
}
},
"files": {
"ignore": ["dist", "node_modules"]
}
}Key Features
- All-in-One — formatter, linter, and import organizer in a single tool
- Blazing Fast — 25-35x faster than Prettier + ESLint combined
- Zero Dependencies — single Rust binary, no node_modules overhead
- 290+ Lint Rules — includes accessibility, performance, and correctness rules
- 97% Prettier Compatible — near-identical formatting output
- First-Class IDE Support — VS Code and IntelliJ extensions with instant feedback
- Error Recovery — continues processing even with syntax errors
- CI Friendly — machine-readable output formats for CI integration
Comparison with Similar Tools
| Feature | Biome | Prettier + ESLint | dprint + oxlint | StandardJS |
|---|---|---|---|---|
| Language | Rust | JavaScript | Rust | JavaScript |
| Speed | 25-35x faster | Baseline | 10-20x faster | Baseline |
| Tools Combined | 3-in-1 | 2 separate tools | 2 separate tools | All-in-one |
| Dependencies | 0 | 100+ packages | Minimal | Moderate |
| Config Files | 1 (biome.json) | 2+ (.prettierrc + eslint.config) | 2+ | 0 |
| TypeScript | Built-in | Via plugins | Built-in | No |
| CSS Support | Yes | Via plugins | Limited | No |
| Prettier Compat | 97% | N/A | 95% | No |
FAQ
Q: Can Biome fully replace Prettier and ESLint? A: For most projects, yes. Biome covers 97% of Prettier formatting and includes 290+ lint rules covering most ESLint core and popular plugin rules. If you rely on niche ESLint plugins (specific React Native rules, GraphQL, etc.), you may still need ESLint for those.
Q: How do I migrate from Prettier + ESLint to Biome? A: Run "npx biome migrate prettier" and "npx biome migrate eslint" to automatically convert your existing configurations. Then run "npx biome check --write ." to format everything with Biome.
Q: Is Biome production-ready? A: Yes. Biome 1.x is stable and used by companies like Discord, Vercel, and others. The team follows semantic versioning and provides clear migration paths between versions.
Q: What about Biome vs dprint + oxlint? A: Both are Rust-based alternatives. Biome offers a single unified tool with one config file. dprint + oxlint are separate tools with more flexibility but require separate configuration and setup.
Sources
- GitHub: https://github.com/biomejs/biome
- Documentation: https://biomejs.dev
- Community fork of Rome (by Sebastian McKenzie)
- License: MIT / Apache-2.0