# Oxc
Oxc is a suite of JavaScript/TypeScript tools rewritten in [[Rust]], maintained by VoidZero, the company Evan You (Vue, [[Vite]]) founded to rebuild the JS toolchain layer by layer, acquired by [[Cloudflare]] in June 2026 (tools stay MIT and vendor-agnostic). The bet: linting, formatting, parsing, and bundling are infrastructure, and infrastructure written in JS wastes everyone's CI minutes.
## The components
| Tool | Replaces | Claim | Status |
|---|---|---|---|
| **Oxlint** | [[ESLint]] | 50-100x faster, 800+ rules, type-aware (via tsgolint) | Production-ready (type-aware rules stable since July 2026) |
| **Oxfmt** | [[Prettier]] | 30x faster than Prettier, 3x faster than Biome | Beta |
| **oxc-parser** | SWC parsing | 3x faster than SWC | Stable |
| **oxc-resolver** | enhanced-resolve | 28x faster | Stable |
| **oxc-transformer** | Babel/SWC transpile | TS, JSX, framework support | Stable |
| **oxc-minifier** | Terser | dead-code elimination | Alpha |
Speed numbers are project-published, but the ESLint-vs-Oxlint gap is large enough that independent reports land in the same ballpark.
## How to think about it
- **Oxlint is the entry point.** [[ESLint]]-compatible rule set, drop-in for most configs, and fast enough to run on every save and every commit without caching gymnastics. Type-aware linting removes the last reason to keep ESLint around for most projects.
- **Oxc vs Biome**: same thesis (Rust, all-in-one), different strategy. Biome ships one integrated tool; Oxc ships composable libraries that other tools build on; its parser and resolver already sit inside other bundlers and toolchains. Oxc is infrastructure first, product second.
- **The VoidZero picture**: Oxc supplies the low-level pieces for [[Vite]]'s Rolldown bundler era. Adopting Oxlint today is also a bet on that consolidation, now a Cloudflare-owned one.
## tsrs joins Oxc (October 2026)
On October 20, 2026, [[Cloudflare]] announced that Oxc now incubates [[tsrs]], a Rust port of the TypeScript 7 compiler (the [[Go]] one, tsgo), built with Max Schwenk of Owner.com in close collaboration with Microsoft's TypeScript team. It lives in its own repo (`oxc-project/tsrs`), and it's a faithful port that leaves the language design to Microsoft. It doesn't reuse Oxc's parser or AST: it ports TypeScript's own parser and checker.
For Oxlint, this touches type-aware linting. Those rules currently run on tsgolint, a separate Go backend built on typescript-go, and Cloudflare names type-aware lint rules in Oxlint as the first tsrs integration it wants to try. Max Schwenk's `tsrslint` already runs those rules on tsrs as an opt-in binary. If Oxlint adopts it, type-aware linting stops depending on a second, Go-based checker. Benchmarks, scope and limits are in [[tsrs]].
## References
- [Oxc Website](https://oxc.rs)
- [Oxc on GitHub](https://github.com/oxc-project/oxc)
- [Oxlint type-aware linting](https://oxc.rs/docs/guide/usage/linter/type-aware)
- [Introducing tsrs: a port of TypeScript to Rust (Cloudflare blog, October 20, 2026)](https://blog.cloudflare.com/typescript-rust-port/)
## Related
- [[Rust]]: part of the same pattern: JS tooling migrating to Rust
- [[Turbovec]]: unrelated domain, same "rewrite the hot path in Rust" wave
- [[Vite]]: the flagship consumer of Oxc's foundations
- [[ESLint]] · [[Prettier]]: what Oxlint and Oxfmt replace
- [[Cloudflare]]: owner since June 2026
- [[tsrs]]: the Rust port of the TypeScript 7 compiler, incubated in Oxc since October 2026
- [[TypeScript]]: the language Oxc parses, transforms and lints