Standard sign-up entry point
Use the default Clerk control when no custom visual treatment is needed.
Clerk · Component
SignUpButton is an unstyled React trigger for Clerk sign-up. It redirects to the sign-up route by default or opens sign-up in a modal when configured with mode="modal".
SignUpButton provides a clickable sign-up entry point. Without children it renders Clerk’s button; with one child, it can wrap a custom button, and its mode controls whether sign-up opens in a modal or redirects to the sign-up route.
<SignUpButton mode="redirect"|"modal">{children}</SignUpButton>| Name | Type | Description |
|---|---|---|
mode | 'redirect' | 'modal' | Controls click behavior: "redirect" navigates to the sign-up route, while "modal" opens sign-up on the current route; defaults to "redirect". |
children | React.ReactNode | The single custom element or text control wrapped by SignUpButton. |
A React button component that starts the Clerk sign-up flow.
import { SignUpButton } from '@clerk/react'
export default function App() {
return (
<SignUpButton mode="modal">
<button type="button">Create account</button>
</SignUpButton>
)
}Wrap a single button to open Clerk’s sign-up modal when clicked.
Use the default Clerk control when no custom visual treatment is needed.
Wrap an application-styled button or label to match the surrounding interface.
Keep users on the current page while presenting the sign-up experience.
SignUpButton is a button that links to the app’s sign-up page by default. It can also open the sign-up experience in a modal when its mode is set accordingly.
Follow-up: How would you preserve custom button markup? Wrap that single button in SignUpButton and choose the desired mode.
Set mode to "modal" to open sign-up on the current route. The default mode, "redirect", navigates to the sign-up route.
Follow-up: What happens if mode is omitted? Redirect behavior is used.
Pass one custom button or button label as the component’s child. The child becomes the UI users click to start sign-up.
Follow-up: How can multiple elements be used? Put them beneath one parent child element.
SignInButtonSignUpSignInSignOutButton