React Team Ships Experimental Rust Port of React Compiler, Vercel Reports 20-50% Faster Builds
The React team merged a work-in-progress Rust rewrite of the React Compiler, and Vercel says early Turbopack tests found 20-50% faster compilation.
Overview
The React team has merged an experimental Rust rewrite of the React Compiler into the framework’s GitHub repository, replacing the tool’s original TypeScript-and-Babel implementation with a native version written for speed. Pull request #36173, opened by React contributor josephsavona, was merged on June 9, 2026, according to the pull request. Vercel moved quickly to plug the new compiler into its Turbopack bundler, reporting in a June 29 blog post that early tests against large React applications found “compilation wins of 20-50%,” according to Next.js’s official blog.
What We Know
The PR describes itself as “an experimental, work-in-progress port of React Compiler to Rust,” shared publicly “prior to testing internally at Meta, to get feedback from partners in parallel with continued development,” according to the pull request. The PR states plainly: “No builds available yet, you’ll have to do some hacking if you want to try this.”
Architecturally, the Rust version mirrors the original: “Internally, the Rust version uses the same architecture as the TypeScript version. The compiler converts from the AST into our own intermediate representation (HIR, short for High-level Intermediate Representation) which uses a control-flow graph (CFG) and single-static assignment (SSA). We go through the same series of passes, with the same overall algorithms,” the PR states. The main change is in data representation, using “arena-like structures” to work within Rust’s memory-ownership rules, according to the PR.
On performance, the PR itself reports: “The serialization cost is quite high, but the actual transformation logic is ~10x faster, so it’s net faster.” As a full Babel plugin, the PR states the Rust version is “3x faster,” and it adds that native integrations using OXC or SWC “should be even faster,” according to the pull request. The PR also cautions: “Early performance numbers are derived from AI and i haven’t spent much time validating the benchmark setup,” per the same source.
On correctness, the PR states that “all 1725 fixtures pass in snap when comparing the temporary rust version of the plugin with the main version,” comparing both generated code output and errors, and that the intermediate compiler state matches “after every single pass” between the TypeScript and Rust versions, according to the pull request. The public API is designed as a drop-in replacement, accepting a Rust representation of the Babel AST plus scope information, with three initial integrations covering Babel, OXC, and SWC, per the same source. The PR also discloses its own development process: “The architecture was heavily guided by humans (me, @josephsavona) but majority coded by AI,” with the author adding that he was “very hands-on in setting the architecture, the testing and verification strategy, incremental migration approach,” according to the pull request.
Vercel was an early adopter. Since Next.js 16.0, React Compiler support had been stable but “only been available as a Babel transform,” and on larger applications the company said “it could slow down builds while waiting for JS execution resources,” according to Next.js’s blog, authored by Andrew Imm. The post states: “Recently, the React team published a native Rust port of the compiler, which we were quick to integrate into Turbopack.” It continues: “Promising early tests against large React apps like v0 showed compilation wins of 20-50%, so we are releasing the native compiler integration as an experimental feature to drive more adoption.” Vercel shipped it behind an experimental, opt-in flag named turbopackRustReactCompiler in Next.js 16.3, per the same blog post.
InfoQ frames the effort as part of a broader shift toward native-language rewrites of JavaScript build tooling, alongside projects like SWC, Oxc, and Rspack.
What We Don’t Know
The port remains labeled experimental and work-in-progress, and no packaged builds existed at the time the PR was merged, according to the pull request. Neither the React team nor Vercel has set a date for a stable, non-experimental release of the Rust compiler. The PR’s author also flags that the initial performance benchmarks have not been rigorously validated beyond confirming that the optimizations they surfaced were legitimate, meaning independently verified real-world speedups beyond Vercel’s own Turbopack tests are not yet available.
Analysis
The project sits at the intersection of two recent trends: React’s own compiler moving from an optional, opt-in step to a stable, widely adopted part of the build pipeline, and the broader JavaScript tooling ecosystem’s shift toward Rust and other systems languages for performance-critical build steps. By designing the public API around a Rust representation of the Babel AST as input and output, the React team is betting it can swap the compiler’s internals for a faster engine without forcing bundler maintainers or application developers to change how they configure it, according to the pull request. Vercel’s early integration into Turbopack is the first concrete signal of how that bet plays out in a production bundler, though the 20-50% range that Vercel reported was measured against its own applications, including the v0 product, and may not generalize to every codebase, per Next.js’s blog.