If you want an open-source headless CMS that you host yourself, the shortlist usually comes down to Strapi vs Payload CMS. Both are built on Node.js, both are free to self-host, and both give you a proper admin panel and APIs without paying a SaaS subscription for the core product.
They take quite different approaches, though, and a lot has changed in the last two years. Strapi has moved to version 5, and Payload has rebuilt itself around Next.js and been acquired by Figma. This comparison covers where each one stands in late 2026 and which projects suit each.
Where each platform stands now
Strapi
Strapi 5 is the current major version and receives regular releases. Strapi 4 reached end of life in mid 2026 and no longer gets security patches, so if you still run a v4 project, upgrading should be on your roadmap now. Strapi provides migration tooling, but projects with custom plugins or heavy API customisation will need developer time.
The Community Edition is free and open source. Paid self-hosted plans add features such as single sign-on and review workflows, and Strapi Cloud offers managed hosting if you do not want to run servers.
Payload
Payload 3 installs directly into a Next.js application. The admin panel, the APIs and your website can all live in one codebase and deploy together. Figma acquired Payload in 2025. Payload has stayed open source under the MIT licence, and Figma has said it will keep investing in the open-source core.
One practical change: Payload paused new deployments on Payload Cloud, its managed hosting, after joining Figma. Existing Cloud projects keep running, but new projects should plan to self-host on a Node.js platform such as Vercel, a container host or your own servers.
The core difference: admin-built vs code-first
In Strapi, you usually create content types in the admin panel using the Content-Type Builder. Strapi writes the schema files for you and generates REST and GraphQL APIs automatically. This makes it approachable for teams with mixed skills and quick to get started.
In Payload, everything is defined in TypeScript: collections, fields, access rules, hooks and admin settings. There is no point-and-click schema builder. Developers get full type safety, the config is versioned with the rest of the code, and you can query content directly in server code through Payload’s Local API, without an HTTP request.
Put simply, Strapi is a CMS you configure. Payload is a framework you program.
Developer experience
Developers who live in TypeScript and Next.js tend to love Payload. Generated types match the schema exactly, access control is written as plain functions, and hooks let you run logic before or after any operation. Because it can handle authentication, uploads and custom endpoints, teams often use it as the backend for whole applications, not just content.
Strapi’s developer experience is good, and version 5 improved it with a new Document Service API and better TypeScript support. Customising it means working with its controllers, services, middlewares and plugin system. That is well documented, but it is Strapi’s own structure to learn, and heavy customisation can make upgrades harder.
Editor experience
Both admin panels are clean and easy to learn. Strapi’s feels a little more like a traditional CMS, with draft and publish, internationalisation and a media library built in. Editors who have used WordPress usually find their way round it quickly.
Payload’s admin is generated from your config, so it can be tailored closely to your content. It supports drafts, versions, live preview and localisation, and its rich text editor is based on Lexical, which can be extended with custom blocks. The quality of the editing experience depends more on how well developers set it up.
Neither offers the drag-and-drop visual editing of Storyblok. If that is a priority, read our Storyblok vs Prismic comparison.
Hosting and databases
Strapi supports PostgreSQL, MySQL, MariaDB and SQLite. It runs as its own Node.js server, separate from your front end, so you host and monitor two applications. Strapi Cloud removes that work for a monthly fee.
Payload supports PostgreSQL, SQLite and MongoDB through database adapters. Because it runs inside Next.js, you can deploy one application instead of two, including on serverless platforms. That can simplify hosting a lot, but long-running tasks and large file uploads need some thought on serverless.
With either platform, you are responsible for backups, updates, security and scaling unless you pay for managed hosting. Our article on open source vs SaaS CMS covers what that means over the life of a site.
Strapi vs Payload CMS side by side
| Factor | Strapi | Payload |
|---|---|---|
| Current version | Strapi 5 (v4 is end of life) | Payload 3 |
| Licence | Open-source Community Edition, paid plans for some features | MIT open source |
| Ownership | Strapi, independent company | Owned by Figma since 2025 |
| Schema | Admin builder, stored as files | TypeScript config in code |
| Front-end coupling | Separate server | Runs inside Next.js |
| Databases | PostgreSQL, MySQL, MariaDB, SQLite | PostgreSQL, SQLite, MongoDB |
| Managed hosting | Strapi Cloud | New Cloud deployments paused, self-host |
| Best for | Mixed-skill teams wanting a classic headless backend | TypeScript teams building on Next.js |
Plugins, community and hiring
Strapi has been around longer and has a larger plugin marketplace, covering things like SEO fields, sitemaps, search and translation. Quality varies, and some plugins lag behind major releases, which was a real issue for teams moving from v4 to v5. Check that every plugin you need supports Strapi 5 before you start.
Payload has fewer plugins, partly because so much is easy to write yourself in code. The official plugins cover common needs such as SEO, redirects, forms, search and nested docs. Its community is active, and the documentation is good.
Hiring is easier than it looks for both. Any competent Node.js developer can learn Strapi quickly. Payload suits developers who already know Next.js and TypeScript, and that pool is large.
Cost over time
Both are free to self-host, so most of your cost is hosting and developer time. Payload can be cheaper to host when it shares one deployment with your Next.js site. Strapi can be cheaper to build for simple projects because content types take minutes to set up in the admin.
Paid features are where costs differ. With Strapi, features such as single sign-on and review workflows need a paid licence, so check which plan you would need. Payload’s core features are all in the MIT package, with enterprise extras offered separately. As always, check current plans before you decide.
Which should you choose?
The Strapi vs Payload choice mostly depends on your team and your front end:
- Choose Strapi if your front end is not Next.js, you want content types built in an admin panel, your team has mixed skills, or you want the option of managed hosting on Strapi Cloud.
- Choose Payload if your team writes TypeScript, you are building on Next.js, you want the CMS and site in one codebase, or the project is really an application with content inside it.
If you would rather not host anything, a SaaS headless CMS may suit you better. See our guide to the best headless CMS for the wider field, including Sanity and Directus.
Frequently asked questions
Is Payload better than Strapi?
For TypeScript and Next.js teams, often yes. For teams that want an admin-built schema, a separate backend or managed hosting, Strapi is usually the better fit.
Is Payload still open source after the Figma acquisition?
Yes. Payload remains MIT licensed and self-hostable. What changed is that new deployments on Payload Cloud were paused.
Should I upgrade from Strapi 4 to Strapi 5?
Yes. Strapi 4 is end of life and no longer receives security fixes. Test the upgrade on a copy of your project first, especially if you use custom plugins.
Is Strapi or Payload better for SEO?
Neither has an advantage on its own. SEO depends on your front end and on having fields for titles, descriptions, canonical URLs and redirects in your content model.
Can Payload be used without Next.js?
Payload 3 runs inside a Next.js app, but its REST and GraphQL APIs can feed any front end, such as Astro, Nuxt or a mobile app.
Next steps
We build and maintain projects on both Strapi and Payload, including Strapi 4 to 5 upgrades. Book a free consultation and we will recommend the right fit and give you a fixed quote.



