Skip to main content

Best Nuxt 4 SaaS Boilerplates and Starter Kits 2026

·StarterPick Team
nuxtsaas-boilerplatevuestarter-kit

Nuxt 4, released in July 2025, brought a cleaner project structure, better TypeScript isolation, and faster development tooling to the Vue ecosystem. As the framework has matured, so has its ecosystem of SaaS starter kits. This guide covers the top Nuxt 4 SaaS boilerplates available in 2026, comparing their auth, payments, database, and pricing so you can pick the right starting point without evaluating a dozen GitHub repos yourself.

Why Nuxt 4 for SaaS

Nuxt 4 is not a dramatic departure from Nuxt 3 — the team explicitly described it as "Nuxt 3, more fleshed out." But the refinements matter for SaaS development:

New app/ directory structure. In Nuxt 4, your application code lives in an app/ folder, cleanly separated from configuration files, modules, and build artifacts. This makes it easier to reason about what is app code and what is tooling.

Better TypeScript isolation. Nuxt 4 sets up separate TypeScript projects for client-side code, server code, and shared utilities, all managed through a single tsconfig.json. Type errors that used to bleed across layers are now caught at the right boundary.

Faster dev tooling. Cold starts are faster with Node.js compile cache enabled by default, native fs.watch APIs replace the old polling-based file watcher, and socket-based communication between the Nuxt CLI and the Vite dev server reduces HMR latency.

Enhanced data fetching. The useAsyncData and useFetch composables share data automatically when multiple components use the same key — no more redundant requests across your layout and page components.

Nuxt 4 vs Nuxt 3: What Changed for Starters

Most Nuxt 3 starters work on Nuxt 4 with minimal migration. The main breaking changes affecting boilerplates:

  • Component and composable imports move into the app/ directory
  • nuxtApp.vueApp is deprecated in some contexts — starters using it need updates
  • The compatibilityVersion: 4 flag in nuxt.config.ts enables Nuxt 4 behavior in a Nuxt 3 project

Starters built natively for Nuxt 4 will have a cleaner directory layout and take advantage of the new type-checking setup from day one.

Vue 3.5 and Vapor Mode

All Nuxt 4 starters run on Vue 3.5 ("Tengen Toppa Gurren Lagann"), released September 2024, which brought meaningful performance and memory improvements to Vue's reactivity system. The practical impact for SaaS apps: smaller memory footprint at scale and faster component updates under heavy reactive load.

Vapor Mode — Vue's Virtual DOM-less rendering approach — is targeting Vue 3.6 as an experimental feature. It eliminates the virtual DOM diffing step and updates the real DOM directly, which benchmarks show as significantly faster for complex, data-heavy dashboards. Nuxt starters do not yet ship Vapor Mode by default, but it is worth watching for the 3.6 release cycle. Vapor Mode will only support the Composition API and <script setup>, so starters that have already moved away from Options API will be positioned to adopt it first.

Top Nuxt 4 SaaS Starter Kits

NuxSaaS (Free, Open Source)

GitHub: github.com/NuxSaaS/NuxSaaS

NuxSaaS is a fully open-source Nuxt 4 SaaS starter with a solid feature set for developers who want to own their stack:

  • Nuxt 4 + Vue 3 + TypeScript throughout
  • Better Auth with OAuth2 social logins (Google, GitHub, Discord)
  • PostgreSQL with Drizzle ORM
  • Stripe and Polar integration for subscription billing
  • Resend for transactional email
  • Nuxt UI v3 components

The database layer defaults to PostgreSQL via Drizzle, making schema migrations straightforward with drizzle-kit. No vendor lock-in — you can self-host with any PostgreSQL provider.

Best for: Developers who want a free, fully open-source starting point with modern auth and a clean database setup.

nuxt-saas-starter (Free, Open Source)

GitHub: github.com/rasyidly/nuxt-saas-starter

A focused Nuxt 4 boilerplate designed for multi-tenant SaaS applications. Smaller scope than NuxSaaS but very clean:

  • Nuxt 4 with app/ directory layout
  • Better Auth for authentication
  • Drizzle ORM with MySQL
  • Resend for email
  • Local file uploads (easy to swap for S3)
  • Multi-organization tenancy built in

The MySQL choice is a differentiator from most starters that default to PostgreSQL. If your deployment environment favors MySQL (PlanetScale, Vitess, AWS RDS MySQL), this starter saves you the database adapter migration.

Best for: Teams building multi-tenant SaaS on MySQL who want a lean, focused starter.

Supersaas (Paid)

Website: supersaas.dev

Supersaas is a premium Nuxt 4 starter trusted by 300+ developers. It covers more surface area than the free options:

  • Nuxt 4 with Tailwind CSS v4
  • Nuxt Auth Utils for authentication
  • Drizzle ORM with multiple DB adapters
  • AWS S3 and NuxtHub Blob for file storage
  • Stripe for payments
  • Multiple email providers (Resend, SendGrid, Postmark, Plunk)
  • Dark mode, i18n, admin dashboard

The multi-email-provider support and the AWS S3 integration make Supersaas a strong choice for teams expecting to scale. The admin dashboard is included out of the box, saving significant build time.

Best for: Teams willing to pay for a production-ready starter with storage, admin UI, and multi-provider email.

Nuxt Starter Kit (Paid)

Website: nuxtstarterkit.com

A private GitHub repository providing Nuxt 4+ with authentication, user management, and payments pre-configured. More opinionated than Supersaas but with a lower initial surface area — useful when you want a clean foundation rather than a feature-packed kit.

Best for: Developers who want payments and auth without a large feature surface to navigate.

supastarter for Nuxt (Paid)

Website: supastarter.dev

supastarter ships both a Next.js and a Nuxt version from the same team, with feature parity between them. The Nuxt version includes:

  • Nuxt 4 compatible
  • Supabase for auth and database
  • Stripe billing
  • i18n support
  • Landing page, blog, and marketing pages
  • Team and organization management

The Supabase integration makes supastarter the best choice if your team is already in the Supabase ecosystem or plans to use Supabase's realtime features.

Best for: Teams who want Supabase-powered Nuxt SaaS with strong multi-tenancy and i18n support.

Nuxtship (Paid)

Website: nuxtship.dev

Nuxtship is a well-established Nuxt SaaS boilerplate that has been updated for Nuxt 4. It comes with a broader feature set including a landing page builder, SEO tools, and blog. A popular choice for founders who want to ship a public-facing SaaS product rather than an internal tool.

Best for: Founders building consumer-facing SaaS who need marketing pages alongside the app.

Comparison Table

StarterPriceAuthPaymentsDatabaseEmailMulti-tenant
NuxSaaSFreeBetter AuthStripe, PolarPostgreSQL (Drizzle)ResendNo
nuxt-saas-starterFreeBetter AuthMySQL (Drizzle)ResendYes
SupersaasPaidNuxt Auth UtilsStripeDrizzle (multi-DB)Multi-providerNo
Nuxt Starter KitPaidCustomStripeVariesVariesNo
supastarterPaidSupabase AuthStripeSupabase/PostgreSQLCustomYes
NuxtshipPaidCustomStripe/LemonSqueezySupabaseResendPartial

Code Comparison: Auth Setup

Here is how NuxSaaS wires up Better Auth in a Nuxt 4 server route:

// server/lib/auth.ts
import { betterAuth } from "better-auth"
import { drizzleAdapter } from "better-auth/adapters/drizzle"
import { db } from "./db"

export const auth = betterAuth({
  database: drizzleAdapter(db, {
    provider: "pg",
  }),
  socialProviders: {
    google: {
      clientId: process.env.GOOGLE_CLIENT_ID!,
      clientSecret: process.env.GOOGLE_CLIENT_SECRET!,
    },
    github: {
      clientId: process.env.GITHUB_CLIENT_ID!,
      clientSecret: process.env.GITHUB_CLIENT_SECRET!,
    },
  },
})

And in the Nuxt 4 server handler:

// server/api/auth/[...all].ts
import { auth } from "~/server/lib/auth"
import { toWebRequest, toNodeHandler } from "better-auth/node"

export default defineEventHandler((event) => {
  return auth.handler(toWebRequest(event.node.req))
})

Compare this to supastarter's Supabase Auth approach, which delegates the entire auth flow to Supabase's SDK and hooks:

// composables/useAuth.ts
const supabase = useSupabaseClient()

const { data, error } = await supabase.auth.signInWithOAuth({
  provider: "google",
  options: {
    redirectTo: `${window.location.origin}/auth/callback`,
  },
})

Both approaches work well. The Better Auth path keeps auth logic in your own codebase; the Supabase path offloads it entirely.

Recommendation Matrix

You want free and open-source: NuxSaaS is the most complete option. PostgreSQL + Drizzle + Better Auth + Stripe/Polar covers the full SaaS stack.

You need multi-tenancy from day one: nuxt-saas-starter (free, MySQL) or supastarter (paid, Supabase) are your options.

You want production-ready with storage and admin UI: Supersaas is the premium pick for teams who want more surface area covered.

You are already on Supabase: supastarter Nuxt version gives you tight Supabase integration with realtime capabilities.

You are building a public-facing product with marketing pages: Nuxtship is the most complete for the marketing side.

Nuxt 4 vs Other SaaS Frameworks

The Nuxt ecosystem is smaller than Next.js in terms of available starters, but the existing options are high quality. If you are evaluating whether to use Nuxt at all, the comparison that matters most is the developer experience for Vue-familiar teams. Nuxt's file-based routing, auto-imports, and server routes are a natural fit for full-stack SaaS without the Next.js App Router complexity.

For a broader comparison across frameworks, see our Next.js vs SvelteKit vs Nuxt SaaS comparison and the best Nuxt boilerplates overview. If you are coming from the Next.js world, the best Next.js boilerplates guide covers the larger ecosystem of options available there.

Final Verdict

For 2026, NuxSaaS is the strongest free Nuxt 4 SaaS starter — it has the most complete feature set, PostgreSQL-first database design, and active maintenance. If you are willing to pay, Supersaas adds storage, admin UI, and multi-email-provider support that saves meaningful build time. Teams in the Supabase ecosystem should default to supastarter Nuxt for the tightest integration.

The Nuxt 4 ecosystem is not as large as Next.js, but the available starters are genuinely well-built and cover the full SaaS stack. If you are a Vue developer starting a new SaaS in 2026, there is no longer a reason to switch frameworks just to find a usable boilerplate.

Nuxt 4 SaaS Performance Considerations

Nuxt 4's improved cold start times matter if you are deploying to edge or serverless infrastructure. The Node.js compile cache enabled by default reduces the initial startup overhead, which translates to lower P99 latency on the first request after a cold function invocation.

For Nuxt SaaS apps deploying to NuxtHub (Cloudflare Workers-based), the performance profile is even better — your Nuxt app runs at the edge, with sub-50ms response times globally. Several of the starters above, particularly Supersaas, are built with NuxtHub compatibility in mind.

Database Choices in Nuxt 4 Starters

The Nuxt 4 starter ecosystem has broadly converged on Drizzle ORM as the database toolkit. Drizzle's schema-as-code approach fits well with Nuxt's TypeScript-first philosophy, and its migration tooling (drizzle-kit) is straightforward for teams managing schema changes across environments.

Common database pairings you will see across Nuxt 4 starters:

Drizzle + PostgreSQL (Neon/Supabase/Vercel Postgres): The most common production setup. PostgreSQL gives you full SQL power; Drizzle gives you type-safe queries and migrations.

Drizzle + SQLite (Turso/local): Increasingly popular for edge deployments. Turso provides a distributed SQLite service with global read replicas. Very low latency for read-heavy SaaS applications.

Drizzle + MySQL (PlanetScale/Vitess): Less common in 2026 as PlanetScale changed its free tier, but the MySQL adapter remains in the nuxt-saas-starter project for teams already on MySQL infrastructure.

Payments: Stripe vs Polar in Nuxt 4 Starters

Both NuxSaaS and Supersaas ship with both Stripe and Polar integration options. Choosing between them:

Stripe is the default choice for most SaaS products. It has the deepest boilerplate integration, the most complete webhook documentation, and the largest ecosystem of payment-related tutorials. The Stripe Checkout and Customer Portal combination handles most SaaS billing flows without custom UI.

Polar is gaining traction in the Nuxt/Vue community, particularly for developer tools and open-source-adjacent products. The Polar API is simpler than Stripe's, the merchant-of-record model removes VAT complexity, and the GitHub Sponsors integration can drive early signups from your open-source audience.

For teams unsure which to start with, Stripe is the safer default. You can add Polar as a secondary channel later.

Deploying Nuxt 4 SaaS to Production

The main deployment options for Nuxt 4 SaaS applications in 2026:

NuxtHub / Cloudflare Workers: The recommended edge deployment for Nuxt 4 apps using Drizzle + SQLite (Turso). Zero cold starts, global edge deployment, D1 or Turso for the database layer.

Vercel: Works well for Nuxt 4 with PostgreSQL-backed starters. The Nuxt Vercel adapter handles server routes as serverless functions automatically.

Railway / Render: Container-based Node.js deployment for teams who prefer persistent server processes. Better for apps with background jobs or long-running server operations.

Self-hosted VPS (Hetzner, DigitalOcean): The most cost-effective option for bootstrapped founders. Deploy a Node.js process with PM2 and Caddy for SSL termination. More operational overhead but lower fixed costs.

Most Nuxt 4 starters include a Dockerfile or deployment notes for both Vercel and container-based targets. Check the starter's README for deployment-specific configuration before committing to a hosting provider.

Comments