Skip to main content

Sign up that converts

The <SignUp/> component provides a fast, simple, and secure experience that converts visitors into users.

Social SSO

Convert faster with Google

Google is the fastest form of authentication and over 60% of users choose it.

  • Google sign up takes under 5 seconds
  • Friction is minimal since most users are already logged into Google
  • Profile data (name, avatar, email) is copied to your application
Social SSO

Built-in support for social SSO and custom OIDC providers

Google
Slack
LinkedIn
TikTok
Github
X
Microsoft
Discord
Apple
Vercel
Gitlab
Custom OIDC provider
Social SSO

Unique edge cases?

Clerk handles the unique edge cases that arise across different social providers.

  • If a provider such as GitHub does not return a verified email, Clerk automatically verifies the email inline
  • When a required phone number is missing, the authentication flow triggers a prompt for the user to supply it
Passwords

NIST-compliant password validation

Password validation is built to adhere to NIST 800-63B guidance for “memorized secrets.”

  • Enforce minimum 8 characters
  • Automatically disallow breached passwords
  • Non-compliant composition rules (e.g. symbol and capitalization requirements) can be enabled
Passwords

Breach detection

If a user tries to sign up with a password found in a data breach by HaveIBeenPwned, <SignUp/> rejects it.

Email & Phone

Fast OTP verification

One-time passwords are the fastest way to securely verify an email or phone number.

  • You can also choose to let your users verify at a later time after sign-up
  • The 6-digit OTP is placed first so it appears in previews and avoids extra clicks
Email & Phone

Not so magic links

Despite the name, “magic” links convert slower than OTPs sent by email. We don't recommend them, but they're supported if you want them.

Email & Phone

User enumeration protection

User enumeration allows attackers to discover who's created accounts in your application. By default, mass enumeration is blocked with rate limiting, while strict enumeration protection can be enabled to prevent targeted attacks.

Fraud Protection

Invisible CAPTCHA by default

Protect yourself from fraud, spam, and abuse, while minimizing friction for real end-users.

Fraud Protection

Additional fraud protections

Protect against fictitious and malicious sign ups proactively.

  • Email subaddress blocking
  • Disposable email address blocking
  • Rate limits per device and IP to mitigate sign-up fraud
  • Country code restrictions
Customization

Not ready for your users to sign up?

Restrict sign-ups to invite-only access, or integrate <Waitlist/> to capture interest and roll-out your application gradually.

Customization

Customizable to your brand

Modify the appearance of the <SignUp/> component with custom CSS, and pass props to override default behavior.

Create your account

Welcome! Please fill in the details to get started.
Continue with Google

or
Enter your email address
Enter your password
Continue
Already have an account?
Sign in
Secured by
Sign up with Google
Cancel
Continue
acme.app
User avatar

Hi Andy 👋

Welcome back to Acme!

Implement sign-up in minutes

Drop-in <SignUp />

Build secure, scalable authentication in minutes with Clerk's SDKs. Drop in pre-built UI components and onboard users instantly, without friction or security concerns.

Complete user management

Full feature set of <SignUp />

Single sign-on

  • 20+ Social OAuth Providers
  • Custom OAuth Providers
  • Automatic collection of profile data
  • Automatically link users across providers
  • Force email verification after SSO
  • Enterprise SSO

Passwords

  • NIST-compliant validation
  • Configurable zxcvbn requirements
  • HaveIBeenPwned breach detection
  • MFA (Multi-factor authentication)

Email & Phone

  • Email-based OTP
  • SMS-based OTP
  • Magic links
  • User enumeration protection

Fraud protection

  • Email subaddress blocking
  • CAPTCHA
  • Rate limiting per device and IP
  • Restrict users by country code

Clerk API

Custom flows

Want full control over your onboarding experience? Our headless APIs give you the flexibility to build exactly what you need.

import { useSignUp } from '@clerk/react'

const { signUp } = useSignUp()

// OAuth
await signUp.authenticateWithRedirect({
  strategy: 'oauth_google',
})

// Email + Password
await signUp.create({
  emailAddress: email,
  password,
})