React Compiler 1.0, stable since October 2025, automatically cuts the wasted re-rendering that makes React interfaces feel sluggish. On a business site the gain shows up mostly in forms, filters and portals rather than first-load speed, and it trims the developer hours spent tuning performance.
The React Compiler is a build-time tool, stable since October 2025, that stops React interfaces from redoing work they do not need to redo. For a business website or app built with React or Next.js, that means smoother forms, filters, calculators and customer portals, and fewer paid developer hours spent tuning performance by hand. Its effect on how fast your first page appears is smaller, and if your site runs on WordPress or a hosted builder, it is not a switch you control.
React's own documentation says the compiler is mainly about updates: what happens after the page has loaded, when a visitor types, ticks a box or opens a menu. That makes it a remedy for sluggish interactions, the kind Google measures with Interaction to Next Paint (INP), rather than for a slow first load. Here is what changed, what it means in practice and what to ask your developer.
- best-case gain in initial loads and page-to-page navigations on Meta's Quest Store
- 12%
- best-case gain in initial loads and page-to-page navigations on Meta's Quest Store
- speed-up on some Quest Store interactions after the switch
- 2.5×+
- speed-up on some Quest Store interactions after the switch
- longer to write: Meta pull requests that used hand-written memoisation
- 31 to 46%
- longer to write: Meta pull requests that used hand-written memoisation
- React components in the Meta codebase where Facebook and Threads adopted it with few code changes
- 100,000+
- React components in the Meta codebase where Facebook and Threads adopted it with few code changes
01
What the compiler actually does
Every time something changes on a React page, React works out what to redraw. By default it redraws the changed component and everything inside it, which can mean a whole product grid when a customer ticks a single filter. Developers have traditionally prevented this by hand, wrapping code in memoisation helpers (useMemo, useCallback and React.memo) that tell React to reuse earlier results.
React's documentation calls that manual work tedious and easy to get wrong, and it is also expensive. Before rolling the compiler out, Meta analysed its own React pull requests: the roughly 8% that used manual memoisation took 31 to 46% longer to write, even after allowing for the author's experience and the size of the change. The compiler does the same job automatically while the site is being built, analysing each component and caching what can safely be reused, in most cases at least as precisely as a person would.
Nothing about how your site looks changes, and no rewrite is needed. The compiler works with React 17 and later, and it runs on React Native too, so a mobile app built with Expo can benefit as well.
02
From Meta's experiment to the default
The compiler was proven inside Meta's own products before anyone else was asked to trust it, and the past year added the pieces that make it a reasonable bet for everyone else.
Feb 2024
Running instagram.com
The React team reports the compiler is no longer a research project and now powers Instagram's website in production.
Oct 2024
Public beta
Meta reports that Facebook and Threads now use it too, onboarded with few code changes in a codebase of more than 100,000 React components. Support for React 17 and 18 arrives.
7 Oct 2025
Version 1.0
The first stable release. By then, Expo SDK 54 and later had it on by default for new apps, and the create-vite and create-next-app starters offered compiler-enabled templates.
21 Oct 2025
Next.js 16
Support becomes stable, but Next.js leaves the switch off by default while it gathers data on build times.
24 Feb 2026
React Foundation launches
React is no longer owned by Meta but by an independent foundation hosted by the Linux Foundation, with Amazon, Microsoft, Vercel, Expo and others as founding members.
Jun 2026
A native Rust version
The Next.js 16.3 preview adds the React team's new Rust port as an experimental option, after early tests on large apps such as v0 showed compile-time gains of 20 to 50%.
03
What it changes on your site, and what it does not
Because the compiler targets updates rather than the first render, its value depends on how interactive your site is. Meta's own numbers make the point: on the Quest Store, initial loads and page-to-page navigations improved by up to 12%, while some interactions became more than two and a half times faster. The React team is careful to add that results vary from app to app.
| Part of your site | What mostly decides its speed | Compiler impact |
|---|---|---|
| Home, about and service pages | Server rendering, image sizes, fonts, hosting and third-party scripts | Small |
| Enquiry forms, search filters, quote calculators | How much of the page redraws on each keystroke or click | Noticeable |
| Dashboards, booking systems, customer portals | Many components updating together as data changes | Largest |
| Your developer's build | The toolchain: the standard compiler runs through Babel | Longer build times |
04
The catch: your code must follow React's rules
The compiler assumes components follow the Rules of React, the conventions set out in React's documentation, such as never changing props or state directly while a component renders. Code can break those rules in ways that tools cannot always detect, and there the React team warns that a change in memoisation can, in rare cases, make an effect run more or less often than before.
So the sensible order is lint first, compile second. React ships compiler-powered checks in its standard ESLint plugin, eslint-plugin-react-hooks, and they work even before the compiler is installed. A developer can run them across your existing code, fix what they flag, then switch the compiler on and test.
Two smaller points. Future versions may change how memoisation is applied, so where automated test coverage is thin, the React team suggests pinning an exact compiler version and upgrading by hand. And existing hand-written memoisation is best left in place, or removed only with careful testing, because taking it out can change what the compiler produces.
05
Questions to ask your web developer
You do not need to read code to judge whether a React project is being looked after. Five questions do the job:
- Which React and framework versions does the site run? The compiler needs React 17 or later, and a well-kept project should be on a currently supported framework release. Our note on Next.js 16 in practice explains what supported means there.
- Is the compiler switched on, and if not, why not? A specific reason, such as a library that breaks the Rules of React, is fine. Not having got round to it is weaker.
- Are the compiler lint rules running? They catch the patterns that would make switching it on unsafe.
- What is our INP from real visitors? Google counts 200 milliseconds or less as good, measured at the 75th percentile of page loads. Our INP guide goes into the detail.
- How are compiler upgrades handled? The answer you want: pinned versions, upgraded deliberately and tested before release.
We encourage everyone to start using React Compiler.
06
What to do next
If your site or app is built with React, this is a modest, low-risk improvement worth scheduling, not an emergency. A sensible plan:
- Ask your developer the five questions above and get the answers in writing.
- For any new React or Next.js build, make the compiler and its lint rules part of the brief, unless the developer gives a specific reason not to.
- For an existing site, ask for the lint pass first, then a staged switch-on, starting with the most interactive pages.
- Measure INP before and after, using data from real visitors rather than a single lab test.
- Leave the experimental Rust version to your developer's test environment until it is declared stable.
If you would like a second opinion on how your site is built, our free audit reviews it and gives you a written assessment.
Sources
Facts current as of 18 July 2026.
