# Auth.js (NextAuth.js) vs Better Auth

**Leader by Vioscale score:** Better Auth

| Attribute | Auth.js (NextAuth.js) | Better Auth |
|---|---|---|
| **Vioscale score** | 54.8 (47% (low)) | 71.9 (37% (low)) |
| activity.commits_last_30d | 7 | 100 |
| adoption.dependent_repos | 6,629 | 210 |
| adoption.github_stars | 28,345 | 29,704 |
| adoption.package_downloads_weekly | 5,865,070 | 7,379,198 |
| deployment.options | `{"self_hosted":true}` | `{"cloud":true,"self_hosted":true}` |
| description.long | An open-source authentication solution that integrates with web frameworks to provide OAuth-based authentication with customizable sign-in pages. | Better Auth is an open-source framework for building authentication directly into TypeScript applications using code-based configuration. It provides 50+ authentication methods and integrates with 20+ JavaScript frameworks, supporting features like social login, passkeys, multi-factor authentication, and enterprise capabilities such as SAML and SCIM. Optional managed infrastructure adds audit logging, security monitoring, and user management dashboards. |
| features.capabilities | `{"hosting":"self","hosted_ui":"headless","open_source":true,"social_login":true}` | `{"mfa":true,"oidc":true,"rbac":true,"hosting":"both","saml_sso":true,"hosted_ui":"headless","open_source":true,"passwordless":true,"social_login":true,"b2b_multi_tenant":true,"passkeys_webauthn":true,"scim_provisioning":true}` |
| integrations.count | 1 | 21 |
| integrations.list | `[{"name":"GitHub"}]` | `[{"name":"Next.js"},{"name":"Nuxt"},{"name":"SvelteKit"},{"name":"Astro"},{"name":"Hono"},{"name":"Google"},{"name":"GitHub"},{"name":"Apple"},{"name":"Discord"},{"name":"Passkey Authentication"},{"name":"Magic Link Authentication"},{"name":"Email OTP Authentication"},{"name":"Two Factor Authentication"},{"name":"Username Authentication"},{"name":"One Tap Authentication"},{"name":"Phone Number Authentication"},{"name":"Anonymous Authentication"},{"name":"Bearer Authentication"},{"name":"Generic OAuth"},{"name":"One Time Token Authentication"},{"name":"SIWE Authentication"}]` |
| language.primary | TypeScript | TypeScript |
| license.spdx | ISC | MIT |
| market.availability | - | `{"primaryMarkets":["US"],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` |
| platform.support | `{"web":true}` | `{"web":true}` |
| pricing | `{"type":"open_source","summary":"Free and open source","freeTier":true,"sourceUrl":"https://authjs.dev","retrievedAt":"2026-08-14T11:04:51.520Z"}` | `{"type":"hybrid","plans":[{"free":true,"name":"Starter","summary":"Free","features":["User management","Audit log","Security detection","Abuse protection","Email templates","Community support"],"minSeats":1,"commitment":"monthly","components":[{"kind":"fixed","amount":0,"period":"month","currency":"USD"}],"description":"For evaluation and side projects","contactSales":false,"includedLimits":{"dashboard_seats":"1","audit_logs_per_month":"10,000","audit_log_retention_days":"1","security_detections_per_month":"1,000"}},{"free":false,"name":"Pro","summary":"$20/month base, plus per-usage overages","features":["Unlimited seats","User management","Audit log with overage","Security detection with overage","Transactional Email & SMS","Self-service SSO","Directory Sync","Dashboard RBAC","Email support","Slack support"],"commitment":"monthly","components":[{"kind":"fixed","amount":20,"period":"month","currency":"USD"}],"description":"For production teams running auth in the critical path","contactSales":false,"includedLimits":{"dashboard_seats":"Unlimited","audit_logs_per_month":"20,000","audit_log_retention_days":"7","security_detections_per_month":"10,000"}},{"free":false,"name":"Enterprise","summary":"Custom pricing","features":["Custom usage and retention","Custom domain for Dashboard","Log drain","Dashboard RBAC","Custom MSA and DPA","Slack support","Implementation assistance"],"description":"For organizations with bespoke security or volume needs","contactSales":true}],"addOns":[{"name":"Custom domain for Dashboard","components":[{"kind":"fixed","amount":25,"period":"month","currency":"USD"}]},{"name":"Log drain","components":[{"kind":"fixed","amount":25,"period":"month","currency":"USD"}]},{"name":"SSO connection (additional)","components":[{"kind":"fixed","amount":50,"period":"month","currency":"USD"}]},{"name":"Directory Sync connection (additional)","components":[{"kind":"fixed","amount":50,"period":"month","currency":"USD"}]}],"summary":"Free tier available. Pro from $20/month. Enterprise custom pricing.","currency":"USD","freeTier":true,"sourceUrl":"https://better-auth.com/pricing","retrievedAt":"2026-08-14T12:12:32.259Z","startingPrice":{"amount":20,"period":"month","currency":"USD"},"billingPeriods":["month"]}` |
| pricing.free_tier | yes | yes |
| pricing.model | commercial | commercial |
| pricing.price_level | free | mid |
| pricing.transparent | - | yes |
| release.history | `[{"url":"https://github.com/nextauthjs/next-auth/releases/tag/next-auth%404.24.15","date":"2026-07-20T23:22:47Z","type":"stable","version":"next-auth@4.24.15"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/xata-adapter%401.11.3","date":"2026-07-20T21:54:07Z","type":"stable","version":"@auth/xata-adapter@1.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/upstash-redis-adapter%402.11.3","date":"2026-07-20T21:54:09Z","type":"stable","version":"@auth/upstash-redis-adapter@2.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/unstorage-adapter%402.11.3","date":"2026-07-20T21:54:11Z","type":"stable","version":"@auth/unstorage-adapter@2.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/typeorm-adapter%402.11.3","date":"2026-07-20T21:54:13Z","type":"stable","version":"@auth/typeorm-adapter@2.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/sveltekit%401.11.3","date":"2026-07-20T21:54:00Z","type":"stable","version":"@auth/sveltekit@1.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/surrealdb-adapter%402.2.3","date":"2026-07-20T21:54:14Z","type":"stable","version":"@auth/surrealdb-adapter@2.2.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/supabase-adapter%401.11.3","date":"2026-07-20T21:54:16Z","type":"stable","version":"@auth/supabase-adapter@1.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/solid-start%400.19.3","date":"2026-07-20T21:54:02Z","type":"stable","version":"@auth/solid-start@0.19.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/sequelize-adapter%402.11.3","date":"2026-07-20T21:54:18Z","type":"stable","version":"@auth/sequelize-adapter@2.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/qwik%400.9.3","date":"2026-07-20T21:54:03Z","type":"stable","version":"@auth/qwik@0.9.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/prisma-adapter%402.11.3","date":"2026-07-20T21:54:19Z","type":"stable","version":"@auth/prisma-adapter@2.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/pouchdb-adapter%402.11.3","date":"2026-07-20T21:54:21Z","type":"stable","version":"@auth/pouchdb-adapter@2.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/pg-adapter%401.11.3","date":"2026-07-20T21:54:23Z","type":"stable","version":"@auth/pg-adapter@1.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/neon-adapter%401.11.3","date":"2026-07-20T21:54:24Z","type":"stable","version":"@auth/neon-adapter@1.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/neo4j-adapter%402.11.3","date":"2026-07-20T21:54:26Z","type":"stable","version":"@auth/neo4j-adapter@2.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/mongodb-adapter%403.11.3","date":"2026-07-20T21:54:28Z","type":"stable","version":"@auth/mongodb-adapter@3.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/mikro-orm-adapter%402.11.3","date":"2026-07-20T21:54:30Z","type":"stable","version":"@auth/mikro-orm-adapter@2.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/kysely-adapter%401.11.3","date":"2026-07-20T21:54:31Z","type":"stable","version":"@auth/kysely-adapter@1.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/hasura-adapter%401.11.3","date":"2026-07-20T21:54:33Z","type":"stable","version":"@auth/hasura-adapter@1.11.3"}]` | `[{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.7.1","date":"2026-08-18T18:51:23Z","type":"stable","version":"v1.7.1"},{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.7.0","date":"2026-08-18T00:23:22Z","type":"stable","version":"v1.7.0"},{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.6.30","date":"2026-08-17T19:09:38Z","type":"stable","version":"v1.6.30"},{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.7.0-rc.6","date":"2026-08-14T18:19:37Z","type":"prerelease","version":"v1.7.0-rc.6"},{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.6.29","date":"2026-08-14T18:18:49Z","type":"stable","version":"v1.6.29"},{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.6.28","date":"2026-08-13T22:39:16Z","type":"stable","version":"v1.6.28"},{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.7.0-rc.5","date":"2026-08-11T22:16:46Z","type":"prerelease","version":"v1.7.0-rc.5"},{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.6.27","date":"2026-08-11T17:59:52Z","type":"stable","version":"v1.6.27"},{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.7.0-rc.4","date":"2026-08-05T00:26:40Z","type":"prerelease","version":"v1.7.0-rc.4"},{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.6.26","date":"2026-08-04T21:19:46Z","type":"stable","version":"v1.6.26"},{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.7.0-rc.3","date":"2026-08-03T17:35:37Z","type":"prerelease","version":"v1.7.0-rc.3"},{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.6.25","date":"2026-07-23T15:50:49Z","type":"stable","version":"v1.6.25"},{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.7.0-rc.2","date":"2026-07-22T19:58:53Z","type":"prerelease","version":"v1.7.0-rc.2"},{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.6.24","date":"2026-07-22T10:35:43Z","type":"stable","version":"v1.6.24"},{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.7.0-rc.1","date":"2026-07-02T17:39:16Z","type":"prerelease","version":"v1.7.0-rc.1"},{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.6.23","date":"2026-06-29T22:08:12Z","type":"stable","version":"v1.6.23"},{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.7.0-rc.0","date":"2026-06-26T22:28:55Z","type":"prerelease","version":"v1.7.0-rc.0"},{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.7.0-beta.10","date":"2026-06-26T17:04:44Z","type":"prerelease","version":"v1.7.0-beta.10"},{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.6.22","date":"2026-06-26T12:47:02Z","type":"stable","version":"v1.6.22"},{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.6.21","date":"2026-06-26T04:57:12Z","type":"stable","version":"v1.6.21"}]` |
| reliability.status_page | yes | - |
| security.disclosure_policy | yes | - |
| security.scorecard | 6 | - |
| security.vulnerabilities | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=%40next-auth%2Fprisma-adapter&per_page=100","last_12m":0,"max_severity":null}` | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=auth&per_page=100","last_12m":0,"max_severity":null}` |

## Capabilities (Auth & Identity Software)

| Capability | Auth.js (NextAuth.js) | Better Auth |
|---|:--:|:--:|
| **Deployment** |  |  |
| Hosting | Self-hosted only | Cloud + self-hosted |
| **Methods** |  |  |
| Social login | ✓ | ✓ |
| Passwordless | - | ✓ |
| Passkeys / WebAuthn | - | ✓ |
| Multi-factor auth | - | ✓ |
| **Enterprise** |  |  |
| SAML SSO | - | ✓ |
| SCIM provisioning | - | ✓ |
| B2B / multi-tenancy | - | ✓ |
| **Standards** |  |  |
| OpenID Connect provider | - | ✓ |
| **Delivery** |  |  |
| Hosted UI | Headless | Headless |
| **Access** |  |  |
| RBAC | - | ✓ |
| **Licensing** |  |  |
| Self-hostable OSS core | ✓ | ✓ |

*Source: Vioscale. Generated 2026-09-01T16:29:49.157Z. "-" = undocumented, not absent.*
