browser-metro — a Metro-like bundler for the browserPowered by browser-metroRun React Native
in your browser
Write, bundle, and preview React Native apps instantly. browser-metro brings Metro's architecture to the browser — full HMR, Expo Router, npm support, all client-side.
Everything you need
browser-metro brings the Metro bundler experience to the browser. Full HMR, Expo Router, and any npm package.
Zero Setup
browser-metro runs in a Web Worker. No CLI, no Xcode, no Android Studio
Hot Module Replacement
Edit code and see changes instantly without losing component state. Full React Refresh support.
Expo Router
File-based routing with dynamic route addition via HMR. Add a route file and see it appear instantly.
API Routes
Write +api.ts files that run in-browser via fetch interception. No server or service worker needed.
export function GET(req) { return Response.json({ message: "Hello!" }); }
Any npm Package
Import any package. Bundled on-demand by the ESM server and cached for instant reuse. No configuration required.
Architecture
Two services work together: the browser-based bundler and the ESM package server.
How it compares
reactnative.run vs other online development environments.
| reactnative.run | Expo Snack | CodeSandbox | |
|---|---|---|---|
| Bundling | Client-side | Partially client-side | Server-side |
| npm packages | Any, on-demand | Curated subset | Any, via server |
| HMR | Full + React Refresh | Live reload | Full HMR |
| Expo Router | Full + HMR | Limited | Basic |
| API Routes | In-browser | No | Via server |
| Native preview | Web only | iOS, Android, Web | Web |
| Open source | Yes (MIT) | Partially | No |
| Price | Free | Free | Free tier + paid |
Frequently asked questions
Is this an official React Native project?+−
No. reactnative.run is an independent open-source project built by RapidNative. It is not affiliated with, endorsed by, or associated with Meta, Facebook, the React Native team, or the React Foundation. The domain name is simply a descriptive name for this tool. React Native is a trademark of Meta Platforms, Inc.
Can I preview on iOS or Android?+−
Currently, reactnative.run only supports web preview. The bundler targets react-native-web, so your app renders as a web page. Native device preview is on the roadmap.
Does it work offline?+−
Partially. Once npm packages are cached by the ESM server, subsequent requests are instant. The bundler itself runs entirely in the browser. However, the first load of any npm package requires a network request.
Can I use any npm package?+−
Yes. Unlike some online editors that restrict which packages you can use, reactnative.run bundles any npm package on-demand via the ESM server. There's a cold-start delay on first use, but subsequent requests are cached.
How is this different from Expo Snack?+−
The key difference is where bundling happens. Expo Snack compiles on their servers. reactnative.run bundles everything client-side in a Web Worker, giving you faster iteration cycles. Expo Snack supports native preview via Expo Go, which we don't (yet).
Is it open source?+−
Yes. browser-metro (the bundler), reactnative-esm (the package server), and the playground are all open source under the MIT license.
Can I self-host it?+−
Yes. You can run both the playground and the ESM server on your own infrastructure. See the docs for setup instructions.
Ready to try it?
Start writing React Native code in your browser right now.