Payload vs Strapi vs Directus: Headless CMS for a Next.js SaaS (2026)
Payload, Strapi, and Directus for a Next.js SaaS content layer in 2026: Next.js-native vs standalone, schema-first vs database-first, and the license ceiling that decides the tie.
Updated on July 24, 2026

On this page
Quick Answer (Payload vs Strapi vs Directus, 2026): Payload is the Next.js-native option; it installs directly into your app's /app folder, ships as one deploy, and is MIT licensed with no revenue ceiling. Strapi is the mature standalone all-in-one: a separate Node service with the largest plugin ecosystem, MIT at the core, but with SSO, granular roles, and review workflows gated behind a paid Enterprise tier. Directus is the database-first data platform; you point it at an existing SQL database and it wraps what is already there, but as of April 2026 it moved to the source-available Monospace Sustainable Core License, free only for organizations under $5M in revenue and 50 employees. Choose on architecture and license ceiling, not on star count.
We keep the ShipGarden gallery focused on the parts of a SaaS you will still be running in two years, and the content layer is one of them. The moment your Next.js app needs editors, marketing pages, docs, or structured records that non-engineers can change, you reach for a headless CMS. The three open (or source-available) names almost everyone lands on are Payload, Strapi, and Directus. They all hand you an admin panel and an API over your content. They are not, however, the same kind of tool, and choosing on GitHub stars is how teams end up migrating a year later.
We ran all three through the gallery lens: how it deploys, what it actually costs to run, and the honest place each one loses.
At a glance (2026)
Scroll to see more
| CMS | Stars | License | Latest release | Shape |
|---|---|---|---|---|
Payload | 43.8k | MIT (fully open) | v3.86.0 (Jul 10, 2026) | Next.js-native, installs into /app |
Strapi | 72.7k | MIT core + paid Enterprise | v5.51.0 (Jul 23, 2026) | Standalone Node service |
Directus | 36.9k | MSCL (source-available) | v12 line (2026) | Database-first data platform |
Sources: the payloadcms/payload, strapi/strapi, and directus/directus repositories, read July 24, 2026.
Where does the CMS actually live?
This is the axis most comparisons skip, and for a Next.js team it is the one that matters most.
Payload is, in its own words, the first Next.js-native CMS: it installs into your existing /app folder and runs inside the same Next.js server as the rest of your app. One repo, one build, one deploy target. Your content queries can run on the server as local database calls rather than round-tripping over HTTP.
Strapi and
Directus take the classic headless shape: each is a standalone Node application you host separately, and your Next.js frontend talks to it over a REST or GraphQL API. That separation is a feature when you want the CMS to serve a mobile app, a second site, and your web app from one place. It is friction when all you wanted was content inside one Next.js SaaS, because now you are running, securing, and upgrading a second always-on service.
For a solo builder shipping a single Next.js product, the deploy math is real: Payload is one deployment, the other two are two.
Does the CMS own your schema, or wrap your database?
The second fork decides how your content is modeled.
Payload and Strapi are schema-first (or config-first): you define collections in code or through the admin, and the CMS owns and migrates those tables. This is the right default when you are starting greenfield and want the content model to live with the app.
Directus is database-first. You bring an existing SQL database (Postgres, MySQL, SQLite, and more), point Directus at it, and it introspects your tables and gives you an admin UI and instant API on top of them without demanding you rebuild the schema its way. As the top-ranked 2026 SERP guides put it, choose Directus when SQL is already your source of truth and other systems already read from it. Choose Payload or Strapi when you are defining the model from scratch.
Payload: the Next.js-native one
Payload is an open-source, fullstack Next.js framework (43.8k stars, MIT, latest v3.86.0 on July 10, 2026, per its GitHub repo). It is TypeScript top to bottom, and because it lives inside your Next.js app you get a generated TypeScript backend and admin panel without a second server. Data can sit in
Postgres, MongoDB, or SQLite.
Where it wins: tightest possible Next.js integration, a genuinely MIT license with no revenue ceiling, first-class TypeScript, and one deploy. If your product is a Next.js app and you want owned, versionable content in the same repo, it is the natural pick.
Where it loses: it is the youngest of the three, so the plugin ecosystem and the pool of engineers who have shipped it are smaller than Strapi's. The admin needs a Node runtime, so it is not a drop-onto-the-edge-in-one-file story. And coupling the CMS into your app server is a double-edged sword: a heavy editorial admin now shares resources and a release cycle with your product.
Strapi: the mature standalone
Strapi is the most established of the three and the community heavyweight (72.7k stars, latest v5.51.0 on July 23, 2026, per its GitHub repo). It is a standalone Node CMS with the widest plugin marketplace and the largest hiring pool.
The license nuance matters for a funded startup. Strapi's community edition is MIT and free, but code in the ee/ directories is under a proprietary license, and features like single sign-on, granular role-based access control, audit logs, and review workflows live in the paid Enterprise and Cloud tiers (strapi.io/pricing, 2026). You can run the free core forever; you just cannot assume the governance features are in it.
Where it wins: biggest ecosystem, most tutorials, most plugins, editor-friendly out of the box, and it serves many frontends from one API.
Where it loses: it is a second service to host, secure, and upgrade, and major-version upgrades have historically been the painful part of owning Strapi. Several of the access-control features a growing team eventually needs are behind the paywall.
Directus: the database-first data platform
Directus (36.9k stars, TypeScript, per its GitHub repo) bills itself as the flexible backend that turns your database into a headless CMS, admin panel, and instant API. Its superpower is wrapping a database you already have.
The 2026 gotcha is the license. Directus is no longer under a standard open-source license: with the v12 line it moved to the Monospace Sustainable Core License (MSCL), a source-available license. Commercial use is free through its Open Innovation Grant only for organizations under $5M in annual revenue and fewer than 50 employees; cross either threshold and you owe a commercial license (Directus licensing docs, 2026). Plenty of older comparisons still call Directus "open source" flatly; for a company that plans to raise or grow, that ceiling is a real line item, not a footnote.
Where it wins: unbeatable when a SQL database is already your source of truth and you want an admin and API over it without a rebuild; strong granular permissions; a general data platform, not just a blog engine.
Where it loses: the MSCL ceiling for funded or larger teams; the content model lives in the database and UI rather than in git, so it is harder to version and code-review; and because it is a data platform first, the pure content-editing experience is more technical than Strapi's.
The real 2026 cost is the ceiling, not the download
All three are free to start. That is not the number that bites you. The number that bites you is the ceiling you hit once the product is working.
- Payload: MIT, no ceiling. Optional paid Payload Cloud hosting, but the framework stays free at any scale.
- Strapi: free core, but SSO, granular RBAC, audit logs, and review workflows are paid Enterprise or Cloud features.
- Directus: free under the Open Innovation Grant below $5M revenue and 50 employees, then a required commercial license.
For a bootstrapped SaaS that may never cross Directus's threshold, all three can be genuinely free. For a team that intends to raise and hire, the ceilings are a decision input, and Payload is the only one of the three with none.
How we would choose
- Brand-new Next.js SaaS, want content in the same repo, hate running extra services: Payload. Native integration and MIT with no ceiling is the cleanest fit for the gallery reader.
- A SQL database already exists and other systems read from it: Directus, as long as you stay under (or plan to license above) the MSCL threshold.
- You want a standalone, editor-first CMS with the deepest plugin ecosystem and can host a second service: Strapi, with eyes open about which governance features are paid.
None of these is a wrong answer. They are answers to different questions, which is exactly why picking on stars is a trap. Decide where the CMS should live and who owns the schema first; the license ceiling breaks the remaining tie.
If you want the wider board this fits into, it sits next to how we think about the data layer underneath and the rest of our open-source Next.js SaaS starter scorecard.
Your move: decide where the content should live before you pick the logo, because that one call, in-app or standalone, schema-first or database-first, settles most of the rest.
Written by
Aaron BrickAaron Brick curates the ShipGarden gallery, where we test open-source building blocks so we can own the stack that funds the life.
Frequently asked questions
Is Payload really a Next.js CMS or a separate server?
Payload installs into your existing Next.js app's /app folder and runs in the same server, so it is one deploy rather than a second service (v3.86.0, July 2026). Strapi and Directus are standalone Node applications you host separately and call over an API.
Is Directus still open source in 2026?
Not under a standard open-source license. With the v12 line (April 2026) Directus adopted the source-available Monospace Sustainable Core License. It is free for commercial use via the Open Innovation Grant only for organizations under $5M in annual revenue and fewer than 50 employees; above either threshold a commercial license is required.
Is Strapi free?
The Strapi community edition is MIT and free to self-host at any scale. Enterprise-grade features such as SSO, granular role-based access control, audit logs, and review workflows are in the paid Enterprise and Cloud tiers (strapi.io/pricing, 2026).
Which has the biggest community?
Strapi, at 72.7k GitHub stars in July 2026, with the largest plugin marketplace and hiring pool. Payload is at 43.8k and Directus at 36.9k.
Which should I pick for a fresh Next.js SaaS?
Default to Payload for the tightest Next.js coupling and an MIT license with no ceiling. Choose Directus if a SQL database is already your source of truth, and Strapi if you want a standalone, editor-first CMS with the widest ecosystem and are fine hosting a separate service.
More from the garden
Drizzle vs Prisma vs Kysely: TypeScript Data Layer for Next.js (2026)
Drizzle, Prisma, and Kysely for the data layer of a Next.js SaaS in 2026: why they are not the same category, real repos and costs, and honest where-each-loses.
Best open-source Next.js SaaS + AI starters (2026 scorecard)
A hands-on July 2026 scorecard of ten open-source and source-available Next.js SaaS and AI starters, ranked across six axes with real GitHub stars and exact licenses.
Polar vs Lemon Squeezy vs Paddle: Merchant of Record for Next.js (2026)
Polar, Lemon Squeezy, and Paddle for merchant-of-record billing on a Next.js SaaS in 2026: real fees, the open-source pick, the Stripe angle, and honest where-each-loses.
Payload
Strapi
Directus

