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.

Beta

This feature is currently in beta. Functionality may change before general availability. If you run into any issues, please reach out to our 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. Most don't work in native builds — if you're building for iOS or Android, switch to the Expo native tab, which also names the control components that do.

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 its prebuilt UI. 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