In this article
  1. What happened
  2. What the benchmarks show
  3. Why it matters
  4. What’s missing
  5. How to try it safely

TL;DR: On October 20, 2026, Cloudflare announced tsrs, a Rust port of the TypeScript compiler that it’s building with VoidZero and Max Schwenk of Owner.com, in collaboration with the TypeScript team. It isn’t a fork: Cloudflare says the TypeScript team stays in charge of the language. In Cloudflare’s own benchmarks, tsrs type-checks projects up to 8x faster than TypeScript 7.0 and uses about 70% less memory with the same number of checker workers. It’s an experimental release on npm, and the project lists known gaps. For most teams, the safe move is to run it next to tsc in CI and compare the results, not to replace tsc yet.

What happened

Cloudflare published the announcement on its blog at 13:00 UTC on October 20 (9:00 p.m. Manila time). The port is being incubated as part of the Oxc JavaScript compiler toolchain and lives at oxc-project/tsrs on GitHub under the Apache 2.0 license. The repository’s README calls tsrs “a drop-in replacement for the TypeScript 7 compiler and language server, written in Rust,” with a goal of “100% conformance.”

  • Why Rust, when TypeScript already moved to Go: Cloudflare notes that the TypeScript team’s Go port already made TypeScript 10x faster, but says Rust compiles to WebAssembly without shipping a garbage collector. That lets a full TypeScript toolchain run in small sandboxes, such as Cloudflare Workers, or in a browser. The project also ships an @tsrs/wasm package.
  • Why now: in Cloudflare’s words, “frontier AI models can now do large-scale ports almost independently in a matter of days.” Its plan is to keep tsrs in sync the way it does with Vinext, its Next.js port: agents review upstream changes each day and the upstream test suite runs every night. We wrote about another AI-driven code migration in our story on OpenAI’s COBOL and Fortran results.
  • What’s next: Cloudflare says it’s working with Theo Browne to merge tsc-rs and tsrs into one package that supports all of TypeScript’s features, including the language server. It also says it wants to experiment with deeper tsrs integrations, such as type-aware lint rules in Oxlint.

What the benchmarks show

The numbers come from Cloudflare’s two charts, measured on four public projects (VS Code, MUI docs, webpack and t3code server) with --noEmit, so they cover type checking only, not writing JavaScript output.

  • Same settings as TypeScript (4 checkers): tsrs ran 3.83x to 8.10x faster than TypeScript 7.0.2, and used 0.13x to 0.31x of its peak memory. On MUI docs, for example, it took 1.29 seconds against 10.44 seconds, and 1.03 GiB against 7.70 GiB.
  • TypeScript is getting faster too: Cloudflare says TypeScript 7.1 beta is up to 2.5x faster than 7.0, and that some of those gains came from tsrs. Its chart shows a 7.1 nightly at 1.25x to 2.58x faster than 7.0.2 in the same test.
  • More checkers, mostly more speed: Cloudflare says tsrs’s default is an adaptive setting, based on your machine, that “uses more memory but is even faster.” Its second chart, labelled “Maximum resources,” ran all three compilers with 14 checkers and shows tsrs at 4.51x to 8.65x faster than TypeScript 7.0.2. Compared with its 4-checker run, tsrs was faster on three of the four projects but slower on t3code server (1.33 seconds against 1.21), and it used more memory on all four.

Cloudflare says it worked with the TypeScript team “to ensure the above benchmarks are comparing the same configuration.” These are still Cloudflare’s numbers on its own hardware, and we haven’t reproduced them.

Why it matters

In our view, type checking is often one of the slow steps in CI and in the editor on a big codebase. Faster checks mean shorter CI runs, which can lower your bill if you pay for CI by the minute, and faster feedback for AI coding agents that run tsc after each change. A checker that needs far less memory can also run on smaller CI machines. None of that is guaranteed until you measure it on your own repository.

What’s missing

  • It’s experimental. Cloudflare calls the npm package “an experimental release.” The newest version on npm, published October 19, is 0.18.0-ts7.1.0-dev.20260929. The README says the team aims “to release a stable version against TypeScript 7.1 with 100% conformance.”
  • Known gaps: the README says --init and --showConfig aren’t supported, and diagnostics can come out in a different order than TypeScript’s. Cloudflare says it aims to reduce those differences “to a minimum by the time we publish a stable release.”
  • Conformance so far: the project’s compatibility page says tsrs matches TypeScript’s reference results on 13,458 of 13,462 error baselines in TypeScript’s own test suite, and that the other four are test-harness artifacts.
  • No outside pull requests yet: the README says pull requests “remain closed” for now. Bug reports go to the issue tracker.

How to try it safely

  1. Run it next to tsc, not instead of it. Add a CI job that runs npx tsrs --noEmit on your project and compare its errors with your usual tsc run. Keep tsc as the check that blocks merges until tsrs has a stable release.
  2. Pin an exact version. Install with npm install -D -E tsrs, which records the exact version (currently 0.18.0-ts7.1.0-dev.20260929) in package.json, so a new prerelease doesn’t change your results overnight. npm also still lists an old snapshot tag from 2024; the README thanks another developer for transferring the tsrs package name, so don’t install by that tag.
  3. Measure on your own code. Time both checkers on your repository and on your CI machine size before you change anything. If your project isn’t on TypeScript 7 yet, note that tsrs follows TypeScript 7, the Go-based version, so compare it with TypeScript 7’s own checker as well.
  4. Try it without installing. The README links to a browser playground for checking and emitting code.

If you build on Cloudflare’s developer platform, see also our story on Cloudflare’s Clairic extraction model for Workers AI.

Sources & method

Sources

Method. Last checked October 20, 2026, at about 10:05 p.m. Manila time (14:05 UTC). The partners, goals, benchmark figures and quotes come from Cloudflare’s post and its two benchmark charts; the license, version, known gaps, conformance figures and package-name transfer come from the GitHub repository and npm. We haven’t run tsrs or reproduced Cloudflare’s benchmarks. The CI cost and agent points are our own judgment. No affiliate links on this page. How we work.

Spotted an error? See our corrections policy and tell us.