Feature Comparison: dracory/auth vs Better Auth

Comparison of github.com/dracory/auth with Better Auth, the framework-agnostic TypeScript auth library.

High-Level Differences

Aspectdracory/authBetter Auth
TypeGo library embedded in your appTypeScript library embedded in your app
LanguageGoTypeScript (Node/Bun/Deno)
StorageYour DB via callbacks (any DB)Your DB via adapters (Drizzle, Prisma, Kysely, MongoDB)
UIBuilt-in server-rendered HTMLDIY frontend; plugins expose API + client SDK
ExtensibilityCallback-based configPlugin ecosystem

Feature Matrix

Featuredracory/authBetter Auth
Email/password✅✅
Otp✅ Email codes + magic links✅ Magic link / OTP plugins
Social / OAuth providers❌ (only via AuthKnight)✅ Built-in for many providers
Passkeys❌✅ Plugin
MFA / TOTP❌✅ Two-factor plugin
Organizations / teams❌✅ Organization plugin
Admin / impersonation✅ Built-in✅ Admin plugin (impersonation included)
Session management✅ Your store + cookies✅ DB sessions, JWT/plugin options
Rate limiting✅ Built-in✅ Built-in
Ready-to-use UI✅ Server-rendered❌ API + client only
Middleware✅ Web/API/optional✅ Framework integrations
Fits Go backends✅ Native❌ (TS only; would need separate service)
Multiple login methods simultaneously✅ Composable via NewMultiMethodAuth + types.Method (otp, magiclink, password, authknight, custom methods){mm}
Remember-me (extended sessions)✅ Built-in opt-in session extension{rm}

Legend: ✅ built-in · ⚠️ partial/conditional · ❌ not available

Branding & Layout Options

Aspectdracory/authBetter Auth
Full layout control✅ FuncLayout wraps any page body in your own site shell (own <head>, nav, footer)✅ Headless — no shipped UI; you render everything in your app
Theming / CSS✅ ThemeCSS (any hosted stylesheet / Bootlegance) + CustomCSS inline overrides✅ N/A — your own UI/CSS entirely
Brand name / logo✅ BrandName, BrandTagline, BrandLogoURL rendered above the login card✅ Your app owns all branding
Email templates✅ Per-flow FuncEmailTemplate* callbacks — full control✅ Your own templates via callbacks

When to Choose dracory/auth

When to Choose Better Auth

(social login, 2FA, orgs) without paying a hosted service.