<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/introducing-tsrs-a-port-of-typescript-to-rust-r8vgeom3y" -->

---
title: Introducing tsrs: a Port of TypeScript to Rust | daily.dev
description: Cloudflare and VoidZero are collaborating with Max Schwenk of Owner.com on tsrs, a Rust port of the TypeScript compiler incubated within the Oxc JavaScript...
canonical: https://daily.dev/posts/introducing-tsrs-a-port-of-typescript-to-rust-r8vgeom3y
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Introducing tsrs: a Port of TypeScript to Rust | daily.dev
og:description: Cloudflare and VoidZero are collaborating with Max Schwenk of Owner.com on tsrs, a Rust port of the TypeScript compiler incubated within the Oxc JavaScript...
og:url: https://daily.dev/posts/introducing-tsrs-a-port-of-typescript-to-rust-r8vgeom3y
og:image: https://api.daily.dev/og/posts/r8VgeOm3Y.png
og:image:alt: Introducing tsrs: a Port of TypeScript to Rust
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Introducing tsrs: a Port of TypeScript to Rust

**[Cloudflare](https://daily.dev/sources/cloudflare)** · 6 min read · 2 upvotes · 0 comments

## Summary

Cloudflare and VoidZero are collaborating with Max Schwenk of Owner.com on tsrs, a Rust port of the TypeScript compiler incubated within the Oxc JavaScript toolchain. Early benchmarks show tsrs runs up to 8x faster and uses about 70% less memory than TypeScript 7.0 with the same number of type check workers. The project is not a fork; it aims to track the TypeScript team's own implementation decisions. You can try it now with 'npm install tsrs' and 'npx tsrs'. Cloudflare is also working with Theo Browne to merge tsc-rs and tsrs into one package supporting LSP and content mappers.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.cloudflare.com/typescript-rust-port>

## Questions this post answers

### How much faster is tsrs compared to TypeScript 7.0?

tsrs, a Rust port of the TypeScript compiler, is up to 8 times faster and uses about 70% less memory than TypeScript 7.0 when using the same number of type check workers. TypeScript 7.1 beta itself is already up to 2.5 times faster than 7.0, partly from optimizations upstreamed from tsrs.

_Developers tracking TypeScript compiler speed gains can follow releases like this through daily.dev._

### How do I try the tsrs Rust port of TypeScript?

Install the experimental release from npm with 'npm install tsrs' and run it with 'npx tsrs'. It is incubated as part of the Oxc JavaScript compiler toolchain and is being developed in close collaboration with the TypeScript team, not as a fork of TypeScript.

_Evaluating faster TypeScript tooling before adopting it is easier when daily.dev surfaces releases like tsrs._

### Why did Cloudflare choose Rust instead of Go for a faster TypeScript compiler?

Rust was chosen because its memory management model allows straightforward memory interactions between a WebAssembly guest and host, unlike Go, which requires compiling its garbage collector into the Wasm binary. This makes Rust more memory-efficient for running TypeScript tooling in WebAssembly, including in browsers and sandboxed environments on Cloudflare Workers.

_Developers weighing Rust versus Go for Wasm-targeted tooling can track these trade-offs via daily.dev._

## Community take

How the wider developer community reacted, aggregated from 1 discussion and 80 comments across hackernews (as of 2026-10-20).

**TL;DR:** The community is intrigued by the speed/memory gains of the Rust port and appreciative that the TypeScript team itself is engaging constructively, but there's real debate over whether the benchmarks matter for typical developers, whether AI-generated code of this scale is trustworthy, and whether the custom memory model is actually sound.

**Sentiment:** 40% positive · 40% mixed · 20% skeptical

**The case for**

- Several see real value in faster feedback loops for CPU/memory-constrained environments like serverless workers and AI agent sandboxes.
- A TypeScript team member confirmed the project surfaced genuine optimizations that are being ported back into the official compiler, which some found reassuring.
- Some who benchmarked it independently found it notably memory-efficient, especially with multiple threads, and praised its incremental-check support.

**The pushback**

- Many questioned whether the 8x claim holds up, with closer reading suggesting the real-world gain is closer to 3-4x.
- Several argued the speed improvements are irrelevant for the vast majority of projects and only matter at Cloudflare's extreme scale.
- There's skepticism about relying on an almost entirely AI-generated port, with concerns about unreviewed architectural decisions and no human fully understanding the code.
- A technical critique claims the custom arena-based memory model is unsound, essentially hiding unsafe behavior behind an abstraction rather than using safe lifetimes.

**By community**

- hackernews (mixed): Discussion splits between excitement over the performance numbers and collaboration with the TypeScript team, and skepticism about benchmark claims, AI-authored code quality, and the soundness of the memory model.

**Hottest debate:** Whether an almost entirely AI-generated, GC-less Rust port with a custom 'fake GC' arena scheme is a sound engineering approach or a risky shortcut.

**Open questions**

- Is the claimed memory-recycling scheme actually sound, or does it hide unsafe behavior behind an abstraction?
- How much of the speedup comes from language choice (Rust) versus optimizations that are also portable back to the Go-based compiler?
- Will merging Theo's tsc-rs into tsrs be a meaningful technical integration or mostly a symbolic/PR move?

**Highlights**

> Hey there, TypeScript team member here. The tsrs project has been extremely interesting to see come together. We've been working with the maintainers to better understand how tsrs is fast and what sorts of optimizations it uses are safe. We even did our own Rust vibe port and what we currently suspect is that a lot of the speed does not just come down to language choice, and some of what is going to make TS 7.1 faster and leaner (see the charts in the blog post) actually comes from optimizations discovered in tsrs. We think the wasm and oxlint integration makes a lot of sense for Cloudflare's needs, so this investment makes sense. At the same time, we'll be working hard and collaborating to make the official TypeScript toolset faster and even more efficient. Congrats to the tsrs team on making this official. We're excited and we look forward to continuing on collaboration!
> — [DanRosenwasser on hackernews · 5 comments](https://news.ycombinator.com/item?id=50167925)

> It appears they're using a unique memory model (https://github.com/oxc-project/tsrs/blob/main/docs/PORTING.m...) to overcome the challenge that prevented the TypeScript team from choosing Rust to begin with: Rust has no GC and porting from a GC language to it often requires restructure of data. Essentially, they fake a GC via never-freed arenas for long-living objects. It's interesting that Rust can do that (hopefully soundly)!
> — [afdbcreid on hackernews · 2 comments](https://news.ycombinator.com/item?id=50167990)

> From the file: >Create with P::new(value). p.get() returns &'static T. [...] unless an explicit recycling site proves them dead It's unsound, the LLM/human is doing the proving. They've hidden unsafe in an abstraction without removing the unsafeness.  Using the arena allocator's lifetime would have been safe and easy (bumpalo recommends this AFAIK). I'm guessing a sycophantic LLM either found or praised this load-bearing seam.
> — [zamalek on hackernews · 2 comments](https://news.ycombinator.com/item?id=50168234)

> Well, no, not exactly. The article says vscode is compiled in 5.28s in typescript 7.1 (nightly), and in 1.73s  in tsrs (dev), which is 3x faster.
> — [magicalist on hackernews · 1 comments](https://news.ycombinator.com/item?id=50168200)

> It's exciting to see the speed gains. I use TypeScript every day on a large codebase, and it is too slow to run locally. I don't love this change though: > However, frontier AI models can now do large-scale ports almost independently in a matter of days > I wrote zero code. Not "barely any". Zero So we are going to move from a carefully handwritten port to an entirely AI-generated port. I know this is the way the industry is headed, I use coding agents a ton. But I still review their output because they often don't make sound architectural decisions. Maybe this is a sign that my way of working is going away. I'm not sure how to justify that kind of time spent when someone can do the same thing in a matter of days with barely any effort. I am working on my own language now, I've spent most of this year on it. The idea that someone could just replace it in a matter of days is wild. Wonder how the TS team at Microsoft feels about this.
> — [egonschiele on hackernews · 3 comments](https://news.ycombinator.com/item?id=50167341)

**Source threads**

- [hackernews](https://news.ycombinator.com/item?id=50165953) · 141 points · 80 comments

## Similar posts on daily.dev

- [tsc-ts: TypeScript written in TypeScript](https://daily.dev/posts/tsc-ts-typescript-written-in-typescript-rya20ioek) · Hacker News · 54 upvotes · 2 comments
- [Microsoft Share Update on TypeScript 7](https://daily.dev/posts/microsoft-share-update-on-typescript-7-iooeziqrn) · InfoQ · 18 upvotes · 0 comments
- [TypeScript 7.0 RC: The Go Rewrite Migration Guide](https://daily.dev/posts/typescript-7-0-rc-the-go-rewrite-migration-guide-zsaemvtgg) · SitePoint · 5 upvotes · 0 comments

---

Tags: [#typescript](https://daily.dev/tags/typescript), [#rust](https://daily.dev/tags/rust), [#cloudflare](https://daily.dev/tags/cloudflare), [#webassembly](https://daily.dev/tags/webassembly)

[View this post on daily.dev](https://daily.dev/posts/introducing-tsrs-a-port-of-typescript-to-rust-r8vgeom3y)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Introducing tsrs: a Port of TypeScript to Rust","url":"https://daily.dev/posts/introducing-tsrs-a-port-of-typescript-to-rust-r8vgeom3y","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/introducing-tsrs-a-port-of-typescript-to-rust-r8vgeom3y"},"datePublished":"2026-10-20T13:09:53.315Z","dateModified":"2026-10-20T17:09:27.855Z","description":"Cloudflare and VoidZero are collaborating with Max Schwenk of Owner.com on tsrs, a Rust port of the TypeScript compiler incubated within the Oxc JavaScript...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4a4ae06217dd641f5c3196f943dc2310?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4a4ae06217dd641f5c3196f943dc2310?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Cloudflare","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Cloudflare","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/38522e1d11354cd6b7af66f9d4316735","url":"https://daily.dev/sources/cloudflare"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/introducing-tsrs-a-port-of-typescript-to-rust-r8vgeom3y","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"typescript,rust,cloudflare,webassembly","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Cloudflare","item":"https://daily.dev/sources/cloudflare"},{"@type":"ListItem","position":3,"name":"Introducing tsrs: a Port of TypeScript to Rust"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/introducing-tsrs-a-port-of-typescript-to-rust-r8vgeom3y#faq","mainEntity":[{"@type":"Question","name":"How much faster is tsrs compared to TypeScript 7.0?","acceptedAnswer":{"@type":"Answer","text":"tsrs, a Rust port of the TypeScript compiler, is up to 8 times faster and uses about 70% less memory than TypeScript 7.0 when using the same number of type check workers. TypeScript 7.1 beta itself is already up to 2.5 times faster than 7.0, partly from optimizations upstreamed from tsrs. Developers tracking TypeScript compiler speed gains can follow releases like this through daily.dev."}},{"@type":"Question","name":"How do I try the tsrs Rust port of TypeScript?","acceptedAnswer":{"@type":"Answer","text":"Install the experimental release from npm with 'npm install tsrs' and run it with 'npx tsrs'. It is incubated as part of the Oxc JavaScript compiler toolchain and is being developed in close collaboration with the TypeScript team, not as a fork of TypeScript. Evaluating faster TypeScript tooling before adopting it is easier when daily.dev surfaces releases like tsrs."}},{"@type":"Question","name":"Why did Cloudflare choose Rust instead of Go for a faster TypeScript compiler?","acceptedAnswer":{"@type":"Answer","text":"Rust was chosen because its memory management model allows straightforward memory interactions between a WebAssembly guest and host, unlike Go, which requires compiling its garbage collector into the Wasm binary. This makes Rust more memory-efficient for running TypeScript tooling in WebAssembly, including in browsers and sandboxed environments on Cloudflare Workers. Developers weighing Rust versus Go for Wasm-targeted tooling can track these trade-offs via daily.dev."}}]}
```

