Turn Your Web UI into a Mobile App with Expo DOM Components
Seamlessly reuse web React components on iOS and Android, accelerate app launches, and migrate incrementally without rewriting your UI.

Did you know that...
Expo’s DOM Components, introduced around SDK 52, let you embed web React components directly in your mobile app by simply adding the use dom directive at the top of your file. It’s like running a mini-web app inside your native UI—no rewrite required.
Why this matters
One codebase for web + mobile: Share components across platforms, cut maintenance, enforce consistency.
Fast prototyping & incremental migration: Wrap your web app in Expo, ship quickly, then gradually swap in native bits where it matters.
Example: Embedding a Rich Text Editor using Expo DOM Components
'use dom';
import React from 'react';
export default function Welcome() {
return (
<div style={{ padding: 20, textAlign: 'center' }}>
<h1>Welcome to the App!</h1>
<p>We’re glad to have you here.</p>
</div>
);
}
Drop this into your Expo app, and it runs just like on the web—inside your mobile shell.
Expo DOM Components (since SDK 52) let you plug in your web UI into mobile apps with minimal friction. Think “web within native”—ship faster, stay unified, and improve incrementally.



