This is the open-source fork of the headless CMS decision, and it is a genuinely close call rather than a formality. Both are MIT licensed. Both let you self-host with no seat limits. Both keep the content model in files in your repository, which is the property that separates them together from the hosted platforms they compete with.
So the usual arguments do not settle it. What settles it is a question you may have already answered without meaning to: is your front end Next.js, and will it still be in three years?
Payload installs into a Next.js application and derives almost all of its advantage from being part of it. Strapi runs as its own service and does not care what consumes it. If the answer to that question is a confident yes, most of this page tilts one way. If it is anything else, the comparison is not close.
What we tested, and what we did not
We built the same content model in both in August 2026, writing files only and never opening an admin interface, because that is the test that matters for AI-assisted work. Both passed, in different ways worth describing.
On Strapi we wrote the schema JSON alongside the controller, route and service files, and the build compiled the content type straight through. On Payload we wrote a TypeScript collection, registered it in the configuration, and the type generator produced a complete interface plus a select helper.
Neither has been run in production by us, and neither has been through an upgrade or a recovery under our hands. Everything here about long-term operation is reasoned from what self-hosting is, not from our own outage.