Read the Biome migration guide
Step-by-step migration guidance for moving an existing `biome.jsonc` project onto Ultracite.
Ultracite keeps the fast formatter-and-linter workflow that made you choose Biome in the first place, then adds a stronger default baseline for editor setup, team consistency, and repeatable project bootstrapping.
This page is for teams already leaning toward Biome and trying to decide whether Ultracite meaningfully improves the day-to-day experience.
Biome is the strongest default when you want formatting and linting to feel like one opinionated system instead of a chain of plugins and companion tools.
That makes it especially attractive for teams that value fast onboarding, predictable editor behavior, and fewer places for configuration drift to appear.
Ultracite does not try to replace Biome's core value. It packages a stricter shared baseline, editor defaults, and migration ergonomics so multiple projects can converge on the same expectations.
The benefit is not a different linter. The benefit is a repeatable way to apply Biome across teams without re-deciding every rule and editor behavior from scratch.
Biome still trades away some of the plugin variety and framework-specific edge coverage that make ESLint attractive for mature or unusual stacks.
If those plugins are central to how your team works, Ultracite's ESLint route is the better fit. If you want fewer moving parts, Biome usually stays the cleaner default.
The generated `biome.jsonc` stays compact because Ultracite carries the defaults. You extend the presets you need, keep any deliberate overrides, and still preserve the single-binary developer experience.
{ "$schema": "./node_modules/@biomejs/biome/configuration_schema.json", "extends": [ "ultracite/biome/core", "ultracite/biome/react", "ultracite/biome/next" ]}Biome stays appealing when you want one tool to format, lint, and organize imports without inheriting the plugin management overhead of the ESLint ecosystem.
Written in Rust, Biome can format a large codebase in milliseconds.
No more juggling ESLint, Prettier, and other tools. Biome handles formatting and linting in a single pass.
Covers accessibility, complexity, correctness, performance, security, style, and suspicious patterns.
Natively supports JavaScript, TypeScript, JSX, TSX, JSON, JSONC, CSS, GraphQL, and HTML.
Automatically organizes imports and JSX attributes, plus sorts Tailwind CSS classes.
Biome has no JavaScript dependencies. One binary does everything with consistent behavior.
These walkthroughs focus on the Biome migration path and show what the setup looks like in a real project instead of a generic landing-page demo.
These are the common questions teams ask when they already like Biome and want to know what Ultracite changes.
Use the migration guide when you are rolling this out and the provider docs when you need deeper reference on rules, defaults, and editor setup.
Step-by-step migration guidance for moving an existing `biome.jsonc` project onto Ultracite.
Provider reference docs covering rule categories, formatter defaults, and extension setup for Biome.
And used by thousands of open source projects.
Here's what some of the most innovative and forward-thinking developers in the React ecosystem have to say about Ultracite.