# Next.js SaaS Starter

Vercel's official free SaaS starter on Next.js 15 and Drizzle

https://topboilerplates.com/nextjs-saas-starter

Framework: Next.js | Pricing: Free | GitHub stars: 16088

## Verdict

Best for: Teams that want to read and own every line of their SaaS foundation instead of adopting a paid kit's abstractions, and don't mind upgrading Next.js versions themselves.

Skip if: You need multi-tenancy beyond owner/member roles, i18n, transactional email or a test suite out of the box, because this ships none of them and you will be building each one yourself.

## Description

The Next.js team's own reference SaaS template, MIT-licensed and free. It ships email/password auth with JWTs in cookies, Postgres through Drizzle, Stripe Checkout plus the Customer Portal for subscriptions, an activity log, and a dashboard with two-role RBAC (owner and member) over users and teams, including team invitations (the invite is written to an invitations table, but sending the email and generating the invite link are left as a TODO in the code). Built on Next.js App Router, React 19, Tailwind 4 and shadcn/ui. The scope stops there on purpose: no test suite, no docs site beyond the README, no i18n or transactional email. Its own README lists five paid kits as heavier alternatives.

## Pros and cons

+ Genuinely free with no upsell tier. MIT license, whole codebase public, and the /pricing route is a working Stripe demo for your product rather than a paywall on the starter itself.

+ Lives inside Vercel's own nextjs GitHub org, built on App Router, React 19, Tailwind 4, and TypeScript in strict mode — though it's currently pinned to next@15.6.0-canary.59, a pre-release build from a line Next.js 16 superseded in October 2025, so don't mistake org ownership for staying current.

+ Stripe is wired end to end: Checkout for signup, the Customer Portal for plan changes, a webhook route at /api/stripe/webhook, and a 14-day trial already configured on the Checkout session.

+ Small enough to read in an afternoon. Auth, the route and action middleware, and the activity log are short enough that you can actually audit them before building on top.

- Bare-bones by design: no tests anywhere in the repo, no i18n, no transactional email, and RBAC stops at owner and member, so real B2B multi-tenancy is on you.

- Last commit was 2025-12-11 (about eight months before this review, Aug 2026), and the repo is still pinned to next@15.6.0-canary.59 — a pre-release build of a line that Next.js 16 superseded in October 2025. Budget for both a dependency bump and a major-version upgrade yourself.

- The README is the documentation. No docs site, no changelog, and no AGENTS.md or equivalent instruction file if you plan to hand the repo to an AI coding tool.

- Postgres and Drizzle are baked into the data layer with no adapter seam. If you are set on Supabase you are rewriting that layer, and at least one developer named exactly that as their dealbreaker.

## Features

- landing-page
- pricing-page
- user-dashboard
- seed-data
- auth-included
- rbac-roles
- payments-included
- subscriptions
- customer-portal
- typescript-strict
- open-source
- free-tier
- mit-licensed
- teams-orgs
- invitations
- free-trials
- account-settings
- api-routes
- migrations

## Stack

- Postgres
- Drizzle
- Stripe
- shadcn/ui
- Radix
- Tailwind
- TypeScript

## Links

- Website: https://topboilerplates.com/go/nextjs-saas-starter
- GitHub: https://github.com/nextjs/saas-starter
- Demo: https://next-saas-start.vercel.app

## Alternatives

- [IndieKit](https://topboilerplates.com/indiekit)
- [Carrot Seed](https://topboilerplates.com/carrot-seed)
- [ShipFast](https://topboilerplates.com/shipfast)
