Skip to main content

Component Reference

Clerk offers a comprehensive suite of components designed to seamlessly integrate authentication and multi-tenancy into your application. With Clerk components, you can easily customize the appearance of authentication components and pages, manage the entire authentication flow to suit your specific needs, and even build robust SaaS applications.

Expo apps can target both native (iOS/Android) and web surfaces, and Clerk ships a distinct component suite for each. Select your target platform to see the components available to it.

Warning

Expo native components are currently in beta. If you run into any issues, please reach out to the support team.

For native Expo apps, Clerk provides a dedicated suite of components rendered with SwiftUI on iOS and Jetpack Compose on Android. These are distinct from the web UI components — they don't run on Expo web.

ComponentDescription
<AuthView />Expo IconFull sign-in and sign-up authentication UI
<UserButton />Expo IconCircular avatar button that opens the user profile
<UserProfileView />Expo IconComplete profile management interface

See the native components overviewExpo Icon for installation, requirements, and theming.

You can also use Clerk's control components — <ClerkLoaded />, <ClerkLoading />, and <Show /> — in native apps. They manage conditional rendering based on authentication state and render no UI of their own.

The components below are Clerk's web UI components. They work on Expo web, but not in native builds — if you're building for iOS or Android, switch to the Expo native tab. The exception is the control components, which render no UI of their own and work in native builds too.

Authentication components

User components

Organization components

Billing components

Control components

Control components manage authentication-related behaviors in your application. They handle tasks such as controlling content visibility based on user authentication status, managing loading states during authentication processes, and redirecting users to appropriate pages. A common example is the <Show /> component, which allows you to conditionally render content based on authentication and authorization state.

Unstyled components

Utilities components

Customization guides

Secured by Clerk branding

Warning

This feature requires a paid plan for production use, but all features are free to use in development mode so that you can try out what works for you. See the pricing page for more information.

By default, Clerk displays a Secured by Clerk badge on Clerk components. You can remove this branding by following these steps:

  1. In the Clerk Dashboard, navigate to your application's Settings.
  2. Under Branding, toggle on the Remove "Secured by Clerk" branding option.

Join the Discord community

Join the official Discord community to connect with other developers.

Join Discord

Need help?

Contact the support team to get answers to your questions.

Get help

Feedback

What did you think of this content?

Last updated on