Clerk · Clerk

  1. Reference
  2. SDK Reference
  3. Native components

The Clerk Expo SDK provides prebuilt native UI components rendered with SwiftUI on iOS and Jetpack Compose on Android. These components provide a fully native authentication experience for Expo apps.

<AuthView /> and <UserProfileView /> render inline in your React Native view hierarchy, so you can place them in a modal, route, full-screen view, or any other layout that fits your app. <UserButton /> renders the platform-native Clerk button and opens <UserProfileView /> when tapped.

Available components

ComponentDescription
<AuthView /> Full sign-in and sign-up authentication UI
<UserButton /> Circular avatar button that opens the user profile
<UserProfileView /> Complete profile management interface

Requirements

Native components require:

  • A development build (npx expo run:ios or npx expo run:android), as these components are not available in Expo Go.

  • app.json
  • If using social connections, you must register your native application credentials in the Clerk Dashboard. See the Sign in with Google and Sign in with Apple guides for setup steps.

Expo plugin options

The plugin accepts the following options:

  • Name
    appleSignIn
    Type
    boolean
    Description

    Whether to add the com.apple.developer.applesignin entitlement. Set to false if your app does not use Apple Sign In. Defaults to true.

  • Name
    keychainService
    Type
    string
    Description

    Custom keychain service identifier. Required if you need extension targets (widgets, App Clips, Watch) to share the keychain with the main app.

  • Name
    theme
    Type
    string
    Description

    Path to a JSON file that customizes the appearance of the native components on iOS and Android (colors, dark mode, border radius, and font family). See the Theming reference for platform-specific details and the full schema.

Example

app.json

The following example demonstrates one way to open <AuthView /> from a sign-in button.

src /app /index.tsx

Web compatibility

For Expo web projects, use the web-specific components from @clerk/expo/web. Expo Router requires a non-platform route alongside a platform-specific route, so this example includes both files:

src /app /sign-in.tsx
src /app /sign-in.web.tsx

Read the original on clerk.com ↗