Rewriting Bun in Rust | Bun Blog
bun.com · 6,850 words · saved by 12 readers
Why & how we rewrote Bun from Zig to Rust
Disclosure: Bun was acquired by Anthropic in December 2025. I and others on the Bun team work at Anthropic. I used a pre-release version of Claude Fable 5 for much of the Rust rewrite. Bun started as a line-for-line port of esbuild's JavaScript & TypeScript transpiler from Go to Zig. I wrote my first line of Zig on April 16, 2021 . I bet on Zig after seeing the single-page Zig Language Reference on Hacker News and getting really excited about the low-level control and care for performance. From the start, Bun's scope was massive: JavaScript, TypeScript, and CSS transpiler, minifier, and bundle
saved by
- Freeman Jiang
- Karthik Suresh
- Uzay Girit
- Trevor Trinh
- Katherine Driscoll
- Wilbur Zhang
- Kushal Thaman
- Jason Hausenloy
- Brady Gho
- Davis Brown
- Devin Plumb
- Yash Karthik
related reading
- My Thoughts on the Bun Rust Rewriteandrewkelley.me
- GitHub - oven-sh/bun: Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one · GitHubgithub.com
- Behind The Scenes of Bun Install | Bun Blogbun.com
- Zig Creator Calls Spade a Spade, Anthropic Blows Smokeraymyers.org
- Bun 1.2youtube.com
- A half-hour to learn Rustfasterthanli.me
- Zed — Your last next editorzed.dev
- (Re)writing an interpreter in Rust – Danny van Kootendannyvankooten.com
- Welcome to Bun - Bunbun.sh
- The end of programming — Paul Dixpauldix.com
- Assorted thoughts on zig (and rust)scattered-thoughts.net
- Astra for Coding: Why Are We Doing This Again?lucumr.pocoo.org