Skip to main content

Expo provides a way to develop web applications using the same codebase as your iOS and Android apps. Clerk provides prebuilt components for Expo web projects through @clerk/expo/web and prebuilt native components for iOS and Android through @clerk/expo/native.

Create a new project with web support

If you're starting from scratch, follow the Expo quickstartExpo Icon, which shows the available Expo authentication approaches and how to choose the components that match each platform.

Add web support to an existing project

If you already have an Expo project and want to add web support, you must first ensure that your existing Clerk custom flows do not have any native-specific code. If you have any native-specific code you will have to either adjust your custom flows to also work on web by leveraging platform-specific code, if you are using Expo Router you can also take a look at the platform-specific modules guide.

Warning

Use the components that match the platform. Use web components from @clerk/expo/web for Expo web projects, and use native componentsExpo Icon from @clerk/expo/native for iOS and Android.

Next steps

Learn more about Clerk components, how to build custom flows, and how to use Clerk's client-side helpers using the following guides.

Create a custom sign-up page

Learn how to add a custom sign-up page to your app with Clerk's components.

Prebuilt components

Learn how to quickly add authentication to your app using Clerk's suite of components.

Customization & localization

Learn how to customize and localize Clerk components.

Custom flows

Build custom authentication flows with Clerk's API when prebuilt components don't fit your product.

Client-side helpers

Learn more about Clerk's client-side helpers and how to use them.

Feedback

What did you think of this content?

Last updated on