Clerk vs Stytch.
Last verified 2026-08-19
When Clerk wins
- Fastest Next.js / React DX, default UI components most teams ship without a designer
- Lower starting price ($25 vs $99) and more predictable TCO through 100k MAU
- Organizations and B2B SSO in the same product, no separate B2B SKU
- Conditional UI for passkeys on by default
When Stytch wins
- Best-in-class passkey orchestration (5/5 vs 4/5), higher typical enrollment
- Broader enterprise federation than Clerk's common-IdP set
- ISO 27001 and HIPAA; Clerk's compliance footprint is still thinner
- Twilio communications stack if SMS or WhatsApp is already in the architecture
- Distinct B2C and B2B product surfaces, plus dynamic client registration for agents
Both win
- Both support WebAuthn passkeys natively
- Both support social login at scale
- Both have SOC 2 Type II
- Both ship Organizations and SCIM
- Neither has native FGA or FedRAMP
Pricing comparison
| MAU band | Clerk | Stytch |
|---|---|---|
| 10,000 MAU | $25/mo | $99/mo |
| 100,000 MAU | $800/mo | $950/mo |
| 500,000 MAU | $2,800/mo | $3,200/mo |
| 1,000,000 MAU | $5,500/mo | $6,200/mo |
Developer experience & lock-in
Editorial 1–5 scores and migration effort, on the same axes for both. Lower migration effort is better (easier to adopt, less lock-in).
| Signal | Clerk | Stytch |
|---|---|---|
| DX overallDeveloper experience | 5/5 | 5/5 |
| Docs qualityDocumentation | 5/5 | 5/5 |
| Passkey orchestrationPasskey / WebAuthn depth | 4/5 | 5/5✓ |
| Adoption effortMigrating in | Easy | Easy |
| Lock-in (exit effort)Migrating out | Moderate | Moderate |
Enterprise readiness
Computed across the enterprise pillars from the capability matrix. See the enterprise-ready pillars.
| Pillar | Clerk | Stytch |
|---|---|---|
| Overall | Enterprise-ready · 81 | Enterprise-ready · 94 |
| Enterprise SSO | 85 | 100✓ |
| Directory sync (SCIM) | 100 | 100 |
| Organizations & tenancy | 100 | 100 |
| RBAC & custom roles | 60 | 75✓ |
| Audit logs & streaming | 80 | 80 |
| Compliance certifications | 60 | 100✓ |
| Security posture | 85 | 100✓ |
Side-by-side capability matrix
| Capability | Clerk | Stytch |
|---|---|---|
| Password authentication | ✓ Yes | ✓ Yes |
| Social login | ✓ Yes | ✓ Yes |
| Magic links | ✓ Yes | ✓ Yes |
| SMS OTP | ✓ Yes | ✓ Yes |
| Email OTP | ✓ Yes | ✓ Yes |
| TOTP (authenticator app) | ✓ Yes | ✓ Yes |
| Push MFA | ✕ No | ✕ No |
| WebAuthn / passkeys | ✓ Yes | ✓ Yes |
| Biometric | ✓ Yes | ✓ Yes |
| Hardware security keys | ✓ Yes | ✓ Yes |
| SAML SSO | ✓ Yes | ✓ Yes |
| OIDC SSO | ✓ Yes | ✓ Yes |
| OAuth 2.0 SSO | ✓ Yes | ✓ Yes |
| Enterprise federation | ~ Partial | ✓ Yes |
| Passwordless-only flows | ✓ Yes | ✓ Yes |
| Adaptive MFA | ~ Partial | ~ Partial |
| Step-up auth | ✓ Yes | ✓ Yes |
| Capability | Clerk | Stytch |
|---|---|---|
| RBAC | ✓ Yes | ✓ Yes |
| ABAC | ✕ No | ~ Partial |
| ReBAC | ✕ No | ✕ No |
| FGA engine | ✕ No | ✕ No |
| API authorization | ✓ Yes | ✓ Yes |
| Fine-grained permissions | ~ Partial | ~ Partial |
| Capability | Clerk | Stytch |
|---|---|---|
| Self-service registration | ✓ Yes | ✓ Yes |
| Progressive profiling | ✓ Yes | ✓ Yes |
| Self-service account | ✓ Yes | ✓ Yes |
| Bulk user import | ✓ Yes | ✓ Yes |
| Admin user search | ✓ Yes | ✓ Yes |
| Custom user metadata | ✓ Yes | ✓ Yes |
| Organizations / tenants | ✓ Yes | ✓ Yes |
| Multi-tenancy | ✓ Yes | ✓ Yes |
| SCIM provisioning | ✓ Yes | ✓ Yes |
| Capability | Clerk | Stytch |
|---|---|---|
| REST API | ✓ Yes | ✓ Yes |
| GraphQL API | ✕ No | ✕ No |
| SDKs | 9 listed | 11 listed |
| CLI | ✓ Yes | ✓ Yes |
| Terraform provider | ✕ No | ✕ No |
| Local emulator | ✕ No | ✕ No |
| Extension model | Webhooks + JWT templates | Webhooks + JWT customization |
| Capability | Clerk | Stytch |
|---|---|---|
| Bot detection | ✓ Yes | ✓ Yes |
| Breached password detection | ✓ Yes | ✓ Yes |
| Brute-force protection | ✓ Yes | ✓ Yes |
| Anomaly detection | ~ Partial | ✓ Yes |
| Log streams | ~ Partial | ~ Partial |
| Audit logs | ✓ Yes | ✓ Yes |
| GDPR data export | ✓ Yes | ✓ Yes |
| PII minimization | ~ Partial | ~ Partial |
| Post-quantum roadmap | ✕ No | ✕ No |
| Capability | Clerk | Stytch |
|---|---|---|
| MCP support | ~ Partial | ~ Partial |
| OAuth 2.1 | ✓ Yes | ✓ Yes |
| Dynamic client registration | ✕ No | ✓ Yes |
| Agent vs human token separation | ✕ No | ✕ No |
| Web Bot Auth | ✕ No | ✕ No |
| Capability | Clerk | Stytch |
|---|---|---|
| SOC 2 Type II | ✓ Yes | ✓ Yes |
| ISO 27001 | ✕ No | ✓ Yes |
| ISO 27018 | ✕ No | ✕ No |
| HIPAA | ~ Partial | ✓ Yes |
| PCI DSS | ✕ No | ✕ No |
| GDPR | ✓ Yes | ✓ Yes |
| CCPA | ✓ Yes | ✓ Yes |
| FedRAMP | ✕ No | ✕ No |
| EU data residency | ✓ Yes | ✓ Yes |
| Capability | Clerk | Stytch |
|---|---|---|
| Consent management | ✕ No | ~ Partial |
| Preference center | ~ Partial | ~ Partial |
| Purpose-specific consent | ✕ No | ✕ No |
| Integrates with CMPs | n/a | n/a |
| Capability | Clerk | Stytch |
|---|---|---|
| Multi-region deployment | ~ Partial | ✓ Yes |
| Data residency control | ~ Partial | ~ Partial |
| Proven at high scale (1M+ MAU) | ~ Partial | ~ Partial |
| Capability | Clerk | Stytch |
|---|---|---|
| Password-hash import | ✓ Yes | ✓ Yes |
| Lazy / just-in-time migration | ~ Partial | ~ Partial |
| Account linking & dedup | ✓ Yes | ✓ Yes |
| Custom domains per brand | ~ Partial | ~ Partial |
| Per-brand theming of all flows | ~ Partial | ~ Partial |
| Per-brand consent partitioning | ✕ No | ✕ No |
| Deletion webhooks / cascade | ~ Partial | ~ Partial |
| Event streaming / webhooks | ~ Partial | ~ Partial |
| Documented rate limits | ~ Partial | ~ Partial |
FAQ
- Is Stytch still independent?
- No. Twilio announced the acquisition on 30 October 2025 and closed it on 14 November 2025. The product still has its own API, SDKs, and pricing, distinct from Twilio Verify. Clerk remains an independent company.
- Which is better for Next.js, Clerk or Stytch?
- Clerk. The default <SignIn /> and App Router hooks are the fastest path from npm install to a working login. Stytch's Next.js SDK is solid, but it is not the same drop-in UI story. If passkey conversion is the reason you are here, Stytch still wins on orchestration even in a Next.js app.
- Who has better passkeys, Clerk or Stytch?
- Stytch, on orchestration. Both speak WebAuthn and both turn conditional UI on. Stytch scores 5/5 on the Compass passkey-orchestration axis; Clerk scores 4/5. Clerk's defaults are already above Auth0. Stytch's prompting and recovery design is the remaining gap.
- Should I switch from Clerk to Stytch?
- Switch if Clerk's federation breadth, HIPAA/ISO footprint, or passkey conversion is the ceiling, and you can live with a Twilio-owned roadmap. Do not switch to save money under 100k MAU; Clerk is cheaper there. Budget 60 to 90 days for SDK and webhook rewrites.
Clerk is the React default. Stytch is the passkey specialist that now lives inside Twilio. The matrix will tell you Stytch supports more checkboxes. That is true and not the whole decision.
Choose Clerk when the app is Next.js or React, you want Organizations without a second SKU, and time-to-first-login beats federation breadth. Choose Stytch when Clerk's common-IdP set or passkey conversion is the reason you are shopping, or when Twilio already owns SMS.
Neither vendor is the cost winner at a million consumer MAU. For that, look at Cognito. For pure B2B SSO, look at WorkOS, not this pair.
Profiles: Clerk, Stytch. Passkey context: orchestration ranking.