Rozenite for Web
Rozenite for Web is an experimental feature. The API and behavior may change in future releases.
Rozenite for Web lets you use React Native DevTools (RNDT) to debug React Native web applications, for example in Expo apps. Web browsers appear as debug targets in Metro alongside iOS and Android devices.
This integration requires two parts: the Rozenite Chrome extension (installed in your browser) and the @rozenite/web package (configured in your app).
Browser support: Chromium-based browsers only — Chrome, Brave, Arc, Opera, and others.
Prerequisites
- React Native project with web support (e.g., Expo)
- Metro bundler
Chrome extension setup
We are working on publishing this extension to the Chrome Web Store for easier installation. In the meantime, you can install it from GitHub releases.
The Rozenite Chrome extension can be downloaded from the GitHub releases. Download the .crx file for the latest release.
Installation
- Download the
.crxfile from the releases page. - Open Chrome and go to
chrome://extensions. - Enable Developer mode (toggle in the top-right corner).
- Drag the
.crxfile onto the extensions page and confirm when prompted. If drag-and-drop does not work, rename the file to.zip, extract it, then click Load unpacked and select the extracted folder (the one containingmanifest.json). - The extension acts as a bridge between your browser tab and RNDT and discovers Rozenite-enabled localhost tabs automatically.
For more details on loading extensions, see the Chrome extension loading guide.
@rozenite/web package setup
Installation
Metro configuration
Add withRozeniteWeb to the enhanceMetroConfig chain inside withRozenite:
Entry point
Add require('@rozenite/web') in your app entry point (e.g., main.tsx) or in the root _layout file when using Expo Router.
Plugin support
Supported plugins:
- TanStack Query
- React Navigation
- Overlay
Unsupported plugins (still shown in the UI but will not work correctly):
- Redux DevTools
- Network Activity
- Require Profiler
- MMKV
This behavior may change in future releases.
If you developed a custom plugin to expose internals of your app to developers via Rozenite, it will work just fine in Rozenite for Web as long as you are not reaching to modules that are only present on mobile.
Making plugins compatible with Rozenite for Web
If you maintain a plugin and want it to work on web:
- Verify your plugin does not rely on native modules — native modules are missing on web and will cause runtime errors.
- If your plugin is native-free or has a different implementation for web, update its
react-native.tsentrypoint by removing theisWebcheck. Plugins that exclude web viaif (isDev && !isWeb && !isServer)will not load on web; removing the!isWebcondition enables them.
Troubleshooting
- Ensure Metro is running and the extension is installed.
- Ensure the app is served from localhost (e.g., port 8081).
