Follow us
Breaking
Software

The people shaping Biome’s 2026 JavaScript toolchain revolution

Biome offers a unified Rust-powered alternative to ESLint and Prettier, reaching 15 million monthly downloads. The toolchain aims to simplify workflows, though competitors like VoidZero's Oxlint challenge its speed benchmarks.

Share

Biome v2.5.5 provides a single Rust binary that replaces the configuration mess of ESLint and Prettier. The toolchain handles linting, formatting, and import organization in one pass. Biome reached 15 million monthly downloads after growing from the Rome project, which former Rome maintainers rebuilt. The team uses GritQL to power a plugin system that allows users to query the Biome CST and report custom diagnostics. This plugin engine allows developers to write custom lint rules, which addresses a previous gap in the tool.

The Biome roadmap for 2026 includes stabilizing YAML parsing, improving HTML formatting to match Prettier, and developing cross-language lint rules. The team aims to detect unused CSS classes within JSX or HTML-ish files using its internal module graph. Developers can use the biome check command to run the formatter, linter, and import organizer together. While Biome provides high speed, some users reported memory leaks caused by the tool discovering nested configuration files and ignore files automatically.

Feature Biome v2.x ESLint
Language Rust JavaScript
Config Files One (biome.json) Multiple (.eslintrc, .prettierrc)
Dependency Count One 20 to 50
Type-aware Linting Yes Yes

Speed benchmarks and the VoidZero challenge

VoidZero, a company founded by Vite creator Evan You, builds the Oxc toolchain to compete with Biome and ESLint. VoidZero released Oxfmt, a Rust-based formatter that claims 30x faster speeds than Prettier and 3x faster speeds than Biome. The Oxc project also produces Oxlint, which targets 50x to 100x speedups over ESLint. While Biome offers a unified linter and formatter, Oxlint focuses on catching problems fast and runs alongside ESLint during migrations.

One developer, Nicolas Charpentier, migrated a monorepo from Biome and ESLint to Oxlint and Oxfmt, reducing a lint pipeline from 81 seconds to 2.5 seconds. This 97% reduction occurred because Oxlint eliminates the ESLint runtime. A June 2026 benchmark on an Apple M3 Pro measured Oxlint finishing a 180,000-line repository in 0.31 seconds, while Biome took 0.9 seconds and ESLint took 14.2 seconds.

Tool Lint Speed (180k lines) Format Speed (vs Prettier)
Oxlint 0.31s N/A
Biome 0.9s 35x faster
ESLint 14.2s N/A

Performance varies based on tool architecture. Oxlint edges out Biome on raw linting throughput because it does not carry formatting logic in the same pass. Biome processes approximately 5,887 files per second, while Oxlint processes roughly 11,774 files per second in specific comparisons. If you rely heavily on JavaScript plugins in Oxlint, you will face a performance cliff when running rules like eslint-plugin-react-compiler.

Migration paths and ecosystem gaps

Teams can use automated commands to move from legacy tools to Biome or Oxlint. Biome provides biome migrate eslint and biome migrate prettier to carry settings into biome.json. Developers migrating to Oxlint use @oxlint/migrate to read flat configs. Both tools attempt to simplify the developer experience by reducing the number of packages in node_modules. Josh Finnie removed 112 packages from a blog repository by replacing ESLint, Prettier, and their associated plugins with Biome.

The transition is not always seamless. Biome lacks certain ESLint plugin equivalents, such as specific rules for eslint-plugin-testing-library. Biome also handles import sorting differently than eslint-plugin-import, which requires teams to accept new styles or disable the feature. Some users find that Biome’s formatting differs from Prettier in edge cases. Does the speed of Rust outweigh the loss of a decade of ESLint plugin depth?

You can manage the migration by running the tools alongside your current setup to compare results. Biome supports JavaScript, TypeScript, JSX, TSX, JSON, and GraphQL. It also provides experimental support for Vue, Svelte, and Astro. The team continues to work on improving the developer experience for embedded languages like CSS and HTML. To avoid conflicts, some developers disable Biome’s CSS linting when using Tailwind CSS.

Share

Technewsdaily

Senior tech writer covering AI, gadgets and cybersecurity. Breaking down the news that matters, every day.