Drupal vs Payload
Upgrade to a supported Drupal when its workflows, translations, Views and contributed modules already fit and the upgrade costs less than a rebuild. Choose Payload when the team benefits from keeping the frontend, content model and access rules in one TypeScript codebase.
- Drupal Open source · PHP · coupled or headless
- Payload Open source · TypeScript · code-first
Last verified: 29 September 2026. Pricing and vendor-status claims on this page were checked at the source on that date.
WAYF is an official Payload partner and top contributor, so we have an interest in this comparison. Our full position, including when Drupal is the recommendation we give, is in “A note on our position”, further down the page.
When to pick each
Pick Drupal when
- The estate relies on Content Moderation workflows, per-field translation, Views and contributed modules that already do the job.
- Editors build pages with Layout Builder, Paragraphs or Drupal Canvas, and the team has current Drupal skills.
- Drupal renders the site itself, and headless delivery is needed only for part of it through JSON:API.
- An upgrade to Drupal 11 costs less than rebuilding the custom modules, workflows and integrations.
Pick Payload when
- The team wants the content model and access rules in the same TypeScript codebase as its Next.js application.
- Access rules, validation and simple publish permissions should live in reviewed TypeScript.
- Custom modules mostly work around the content model, and an upgrade would touch most of them.
- The team wants the content model, APIs and admin in one codebase, with hosting arranged by its team, a delivery partner or Payload enterprise.
Feature comparison
| Platform | | |
|---|---|---|
| Overview | ||
| What it is | Open-source PHP CMS with fieldable content types, core JSON:API and multilingual modules. Teams self-host it or use Drupal hosting platforms. | Open-source TypeScript headless CMS and app framework that installs into a Next.js app and stores content in your own database. |
| Edition compared The product and release each column describes. | Drupal 11 core. Drupal CMS 2 bundles core with selected contrib modules. Version 11.4.8, released 26 Sept 2026 | Payload 3, MIT-licensed open-source core Version 3.90.2, released 23 Sept 2026 |
| Vendor | Drupal community, supported by the Drupal Association drupal.org | Figma (acquired Payload in June 2025) payloadcms.com |
| Licence | Open source GPL-2.0-or-later | Open source MIT |
| Hosting | Self-hosting No vendor cloud Acquia, Pantheon and other companies sell managed Drupal hosting. | Self-hosting Vendor cloud Payload Cloud is paused for new projects. Payload offers hosting to enterprise customers. |
| Built with | PHP, Symfony, Twig | TypeScript, Node.js, Next.js, React |
| Database | MySQL, MariaDB, PostgreSQL, SQLite | PostgreSQL, MongoDB, SQLite |
| Pricing Public list prices only. Hosting and implementation are extra everywhere. | Free to start Free and open source. Hosting, support and contrib services cost extra. | Free to start Free to self-host. Enterprise licence, support and hosting on request. |
| Content modelling | ||
| Content model in code You define content types in files in your repository, review them like any other code and apply them from there. Imperative migration scripts alone count as limited. | Built in Content types and fields export to YAML config files. | Built in Collections, globals and fields are TypeScript config. 2 |
| Content model in the UI Admins can create and change content types and fields in the admin interface without writing code. | Built in Field UI in core. | Not available No schema builder in the admin. |
| Reusable blocks Editors compose pages from reusable, typed components or blocks, and can reorder them. | Built in Layout Builder in core. Paragraphs and Drupal Canvas are contrib. 910 | Built in Blocks field. |
| Localization Editors translate content per locale inside the CMS, by field or by entry, without a separate site for each language. | Built in Field-level content translation in core. 7 | Built in Field-level localization. |
| Image transformations The CMS resizes, crops or converts images on request, through URL parameters or generated sizes, with no external service. | Built in Image styles scale, crop and convert images. 8 | Built in Generates configured image sizes on upload, with crop and focal point. 11 |
| APIs and delivery | ||
| REST API A documented REST or JSON HTTP API returns content. | Built in JSON:API and REST modules in core. 3 | Built in |
| GraphQL API The vendor or an official module provides a GraphQL API for content. | Plugin or add-on GraphQL contrib module. Developers build the schema. 4 | Built in |
| Webhooks The CMS can call an external URL when content is created, changed or published. | Plugin or add-on Webhooks contrib module. Core has no outgoing webhooks. 18 | Not available No webhook settings. Call URLs from afterChange hooks in code. 17 |
| Renders the website The CMS itself renders and serves the public pages through themes or templates. Headless-only products answer no. | Built in Twig themes. | Not available Runs inside your Next.js app. You build the pages. |
| Editorial workflow | ||
| Drafts Editors save changes as a draft and publish them later. The live version stays untouched until then. | Built in Drafts of published content need the core Content Moderation module. 5 | Built in 10 |
| Scheduled publishing An editor can set a future date and time for content to publish or unpublish. | Plugin or add-on Scheduler contrib module. 11 | Built in Scheduled publish and unpublish run through the jobs queue. 10 |
| Version history The CMS keeps earlier versions of an entry, and editors can compare or restore them. | Built in Revert in core. Side-by-side compare needs the Diff contrib module. | Built in Opt-in per collection or global. 10 |
| Preview Editors can see unpublished content rendered as it will appear on the site before publishing. | Built in Preview button on the edit form. | Built in |
| Visual editing Editors can click on the rendered page and edit content in place or in a side panel next to it. | Limited Layout Builder edits blocks on a rendered preview. Drupal Canvas is contrib. 910 | Not available Payload lists the Enterprise Visual Editor as coming soon. 37 |
| Approval workflows Content moves through review stages you configure, such as draft, review and approved, with permissions per stage. | Built in Workflows and Content Moderation modules in core. 5 | Paid tier Enterprise publishing workflows. 39 |
| Content releases Editors group changes across several entries and publish them together as one release. | Built in Workspaces module, stable in core since 10.3. 6 | Not available |
| Real-time co-editing Two or more editors can work on the same entry at once and see each other's changes live. | Not available | Not available Document locking only. Payload lists enterprise multi-player editing as coming soon. 12320 |
| Access and governance | ||
| Custom roles Admins define their own roles with granular permissions instead of picking from a fixed set. | Built in | Limited Roles are access-control functions written in code. No role editor in the admin. 18 |
| Field-level permissions Admins can restrict access to single fields, on top of content types and entries. | Plugin or add-on Field Permissions contrib module. 12 | Built in Field-level access functions. 18 |
| Single sign-on Editors can sign in through SAML or OpenID Connect against a company identity provider. | Plugin or add-on OpenID Connect or SAML Authentication contrib modules. 13 | Paid tier Enterprise licence, SAML and OAuth 2.0. 35 |
| Audit log The CMS logs who changed what and when across the whole installation, and admins can review the log. | Limited Database Logging records content events by user. It caps and prunes entries. 20 | Paid tier Enterprise audit logs. 6 |
| Platform and extensibility | ||
| Multiple sites One installation or account can manage several separate websites or brands with shared users. | Plugin or add-on Domain contrib module. Core multisite shares only the codebase. 14 | Plugin or add-on Official multi-tenant plugin. 15 |
| Extensible admin UI Developers can add their own components, views or fields to the editing interface. | Built in Custom field widgets, forms and admin routes. | Built in Custom React components, views and fields. |
| Plugin marketplace The vendor runs an official directory or marketplace of installable extensions. | Built in drupal.org module directory. | Limited Docs list official plugins. Community plugin directories are third-party. 13 |
| Form builder Editors can build and publish forms and collect submissions without code. | Plugin or add-on Webform contrib module. Core Contact is deprecated in 11.4. 152 | Plugin or add-on Official Form Builder plugin. 16 |
| Site member accounts The platform handles sign-up and login for public site users or members, separate from editors. | Built in | Built in Any auth-enabled collection can hold site users. |
| AI writing assistant A first-party AI feature in the editing interface generates, rewrites or translates content. | Plugin or add-on AI module from the Drupal AI Initiative, bundled with Drupal CMS. 1619 | Paid tier Enterprise AI writing assistant. Payload lists AI translation and image generation as coming soon. 8 |
| Official MCP server The vendor publishes a Model Context Protocol server so AI agents can read or write content. | Not available Community contrib only, e.g. the MCP Server module by Lullabot and Omedia. 17 | Plugin or add-on Official open-source MCP plugin. 14 |
Drupal sources
Checked 29 Sept 2026. Drupal 11 core. Drupal CMS 2 bundles core with selected contrib modules..
- drupal 11.4.8 release
- drupal 11.4.0 release notes
- JSON:API module documentation
- GraphQL module
- Content Moderation module documentation
- Mark Workspaces as a stable core module (#3088643)
- Multilingual guide: translating content
- Image module: working with images
- Layout Builder module documentation
- Drupal Canvas
- Scheduler module
- Field Permissions module
- OpenID Connect / OAuth client module
- Domain module
- Webform module
- AI (Artificial Intelligence) module
- MCP Server module
- Webhooks module
- Drupal CMS 2.0 is here
- Database Logging module documentation
Payload sources
Checked 29 Sept 2026. Payload 3, MIT-licensed open-source core.
- payload on the npm registry
- Get started with Payload
- Payload for Enterprise
- Payload Cloud update: Payload has joined Figma
- Payload enterprise SSO
- Payload enterprise audit logs
- Payload Visual Editor
- Payload enterprise AI
- Payload publishing workflows
- Payload docs: Drafts
- Payload docs: Uploads
- Payload docs: Document locking
- Payload docs: Plugins
- Payload docs: MCP plugin
- Payload docs: Multi-tenant plugin
- Payload docs: Form Builder plugin
- GitHub discussion: Webhooks?
- Payload docs: Access control
- Figma blog: Welcoming Payload to the Figma team
- Payload multi-player editing
Considering more platforms? Compare Drupal and Payload with the rest of your shortlist in the CMS comparison tool.
Drupal and Payload are both open source, and both can run a large, multilingual, permission-heavy content estate. They put the work in different places. Drupal is a PHP platform with editorial workflow, translation and layout tools in core, extended by a large set of contributed modules and usually configured through its admin. Payload is a TypeScript application you install in a Next.js project, where the content model, access rules and hooks are code.
This page compares supported Drupal, meaning Drupal 11 today and Drupal 10 until its end of life on 9 December 2026, with Payload 3. For the support dates and the upgrade paths out of Drupal 10, see our Drupal 10 end-of-life guide. For the mechanics of a move, see the Drupal to Payload migration guide. This comparison is about choosing between the platforms.
The short decision
Upgrade Drupal when the site’s editorial machinery already works. Content Moderation, per-field translation, Views and a set of maintained contributed modules are working assets, and a supported Drupal keeps them. Scope the upgrade against module compatibility and custom code; a rebuild re-implements these capabilities.
Choose Payload when the team would benefit from keeping a Next.js frontend, the content model and access rules in one TypeScript codebase, or when custom modules mostly work around Drupal’s content model. Both platforms can serve several channels through APIs. Payload can be run by your own platform team, a delivery partner or, under an enterprise agreement, Payload.
Three ways to run Drupal, and where Payload sits
Drupal can render the whole site through its themes, which use Twig, Drupal’s template language. It can also run progressively decoupled, where a JavaScript frontend takes over parts of pages that Drupal still serves, or fully headless, where Drupal only manages content and a separate frontend renders everything. Drupal’s decoupled documentation describes the headless mode, and JSON:API is in core for it.
The comparison with Payload depends on which of these you run. A coupled Drupal site gets layouts, preview and caching from the platform, so a move to Payload also means building a frontend. A headless Drupal already has that frontend, so a move changes the backend and the data it serves. Payload is headless by design. Its admin and APIs can run inside the same Next.js application as the site, which is the arrangement where it differs most from Drupal.
Editorial workflow and moderation
Drupal’s Content Moderation module lets a published version stay live while a separate working copy goes through review. Workflows define the states and transitions; the default editorial workflow adds Draft and Archived to Published, and each transition gets its own permission. Each translation is moderated separately. Revisions are on by default for content types, and comparing two revisions needs the contributed Diff module.
Payload’s drafts and versions give a saved draft over a live version, diffs, restore, autosave and scheduled publishing, all in core when configured. A collection’s update access rule can constrain _status to restrict who can publish, and the admin hides the Publish button for those users. Named review stages with their own permissions are the part Drupal ships and Payload does not: Payload sells Publishing Workflows as an enterprise feature, or a team builds the stages in code.
For an institution whose approval policy maps onto Drupal’s states and transitions today, that difference is concrete work in a move. List the states, transitions and roles before pricing either option.
Structured content and page building
Drupal models content as entity types and bundles, which editors know as content types, with fields added per bundle in the admin and exported as configuration. The contributed Paragraphs module adds component content, and it is widely used. Payload defines collections and fields in TypeScript, and its blocks field plays the role Paragraphs plays in Drupal.
Page building is where Drupal is moving. Layout Builder is in core and lets editors override a layout per item. An open core issue proposes deprecating it and moving it to contrib, and it is not decided. Drupal Canvas, developed under the working name Experience Builder, is a stable contributed module and the default editing experience in Drupal CMS 2. A team choosing Drupal for page building today should check which of these it is committing to.
Payload gives editors blocks and Live Preview in core, and developers can add custom React components to the admin. Payload’s enterprise page lists a Visual Editor as coming soon. Treat that as roadmap until it ships.
Drupal CMS adds to the choice. It is a ready-made starting point built on Drupal 11 core, with recipes for media, SEO, search, forms and optional AI features. Once installed, it is ordinary Drupal: there is no separate Drupal CMS to update.
Multilingual publishing
Drupal’s multilingual support is four core modules: Language, Content Translation, Configuration Translation and Interface Translation. Each field on each bundle is set as translatable or not. Configuration and interface text are translated too, and the contributed TMGMT module can trigger translation jobs when the source text changes.
Payload localizes at the field level. You declare the locales, mark the fields that vary and set fallback, and one document carries every language. Independent publication status per locale is available through an opt-in beta feature; the default status applies across locales. Access rules decide who edits what. Interface translation for the site belongs to your frontend, while admin UI translations can be configured in Payload.
Both handle complex multilingual estates. Test the publication scope on each: whether one language can publish while another stays in draft, and who signs off each translation.
Permissions and governance
Drupal groups permissions into roles, and access to individual nodes and fields is controlled through code hooks. The contributed Field Permissions module gives field-level permissions an admin interface, and its project page describes it as minimally maintained. Payload’s access control is a set of functions per collection, document, field and operation, which can combine the user and the document’s data in one rule.
Drupal’s core targets WCAG 2.2 AA for public and admin interfaces, and the same page says a finished site is not automatically accessible and that contributed modules are outside that gate. Accessibility on a Payload build depends on the frontend and on admin customisations, so it belongs in the acceptance criteria for either route.
APIs, modules and upgrades
JSON:API is in Drupal core. The contributed GraphQL module is maintained, and its 5.x version asks developers to set up and map the schema. Payload generates REST and GraphQL APIs from its config, and its Local API lets server code in the Next.js app query content without an HTTP call.
Contributed modules are a major Drupal advantage and a large part of its upgrade cost. The security team issues advisories only for projects that opted into coverage, and only for their stable releases, so check the shield on each module a site depends on. Payload’s plugin set is smaller; the rest is application code your team maintains.
Drupal promises a continuous upgrade path: an API is deprecated in one major and removed in the next, and contributed and custom code must be updated before a major upgrade. Majors arrive every two years and each is supported for at least four. Drupal’s deprecation guide lists Search for deprecation in 11.5 and removal in Drupal 12; the Drupal 12 alpha notes still describe that removal as proposed. Sites using core Search should plan to test the contributed Search module or Search API before upgrading. Payload ships through npm releases; its 3.x line is current and a 4.0 canary is in development. Its search plugin indexes selected fields in a search collection.
Cost inputs and exit
Neither platform charges a core licence fee: Drupal is GPL-2.0-or-later and Payload is MIT. The cost lines are hosting, database and file storage, security patching, upgrades, paid services, engineering time and editor training. Commercial Drupal platforms such as Acquia, Pantheon and Upsun sell managed hosting with their own plans. Payload can be self-hosted, deployed through hosting templates or hosted by Payload under an enterprise agreement; its enterprise features require a sales discussion. Price the same editors, languages, environments and traffic on both sides.
Both keep content in a database you control. Leaving either platform means moving the content model and the behaviour built around it: workflows, access rules, listings and integrations. That work is the same kind in both directions, and it is proportional to how much of the site’s logic lives in modules or application code.
Upgrading to a supported Drupal is a serious option
For many Drupal 10 sites, the right decision is Drupal 11. Drupal 11 is supported until Drupal 13 is released, and a site that upgrades keeps its moderation, translation, Views and module investment subject to compatibility checks. Drupal 12 is scheduled for the week of 7 December 2026. On 29 September the Drupal 12 release list shows only 12.0.0-alpha1; Drupal says alpha releases should not be used in production. It is not a production option yet.
Our end-of-life guide sets out the paths and the evidence that decides between them. The comparison adds one question: after the upgrade, is Drupal still the right shape for what the team needs to build next? If the answer is yes, upgrade and stop there.
What survives either choice
Some requirements do not change with the platform, and they are worth writing down before comparing:
- The approval policy: who drafts, who reviews and who publishes, per content type.
- Translation ownership and the rule for missing translations.
- The URL structure, redirects and canonical URLs that search engines and other sites depend on.
- Accessibility obligations for the public site and the editing interface.
- Integrations that read from or write to the CMS, and their owners.
- Retention rules for content, revisions and personal data.
- Who hosts, patches, backs up and monitors the platform.
These carry over whichever way you go. The platform decides how they are implemented and who maintains them.
What a move to Payload rebuilds
A move re-implements the parts of Drupal that do work beyond storing content. Plan for the moderation states and transitions; Views listings, which become queries and frontend components; Webform forms and submission handling; Layout Builder, Paragraphs or Canvas layouts, which need a block schema and a data migration; custom modules, hooks and node access rules, which become access functions and hooks; the translation setup; URL aliases and redirects; and search.
The migration guide maps Drupal concepts to Payload and walks through the extraction and transformation work. Price each item above before committing.
Two decision scenarios
Both scenarios are illustrative. They are not client projects.
An institution with a large Drupal editorial investment. A public body runs a coupled Drupal 10 site with 40 editors, a four-state moderation workflow with separate reviewer and publisher roles, three languages with translations signed off per language, Views-driven listings, a set of forms and a dozen custom modules. Its priority is getting onto supported software before December with minimal disruption to editors. The recommendation is Drupal 11. Its workflow, translation and permission model map onto Drupal’s core features, and a rebuild would re-implement each of them. Payload becomes a candidate only if the upgrade estimate shows the custom modules mostly work around the content model, or if the next phase needs a new frontend and several channels anyway. In that case, list what survives, price what a move rebuilds, and compare the two numbers.
A team whose product needs outgrew the architecture. A company runs Drupal headless behind a Next.js site, with custom modules that reshape JSON:API output for a new mobile app and a partner portal. Five editors publish in two languages, and approval is a single publish right. The team writes TypeScript and wants access rules and schema changes in pull requests. Payload fits: collections, access functions, REST and GraphQL APIs and the admin can live in the same codebase as the Next.js app, and the single publish right is a core access rule. The move rebuilds the listings, forms, redirects and search; the team can arrange hosting itself, through a delivery partner or with Payload under an enterprise agreement. If the editorial team later needs named review stages, price Payload’s enterprise Publishing Workflows against building them.
A short evaluation checklist
Run these with your own estate before choosing:
- Workflow. Write down every moderation state, transition and role. Mark which ones Payload handles in core and which need custom work or an enterprise agreement.
- Translations. Record which fields are translatable, who signs off each language, and whether languages publish independently.
- Layouts. Count the items using Layout Builder overrides, Paragraphs or Canvas, and decide what the block schema needs to hold.
- Modules. Split contributed and custom modules. For each custom one, note whether it extends the model or works around it.
- Listings, forms and search. List the Views, Webforms and search indexes the site depends on, with an owner for each replacement.
- Integrations. List everything that reads from or writes to the CMS.
- Cost. Set the Drupal 11 upgrade estimate beside the rebuild estimate, and include hosting, maintenance and editor retraining on both sides.
A note on our position
WAYF is a Payload partner and contributes to its open source, so we have an interest in this comparison. We recommend upgrading Drupal when its workflow, translation and module investment is the better match, and a delivery partner can run either stack.
If you choose Payload, WAYF’s Payload development service covers the build. For a move from an existing CMS, plan the replatforming around the content, workflows and integrations that need to move.
Common questions
-
Is Payload a good replacement for Drupal?
It can be, when the reason to move is architectural: a Next.js application that would benefit from sharing a TypeScript codebase with the CMS, or custom modules that mostly work around Drupal's content model. For an estate whose moderation workflows, translations, Views and contributed modules already do the job, upgrading to a supported Drupal is usually the lower-risk choice. Compare the upgrade estimate with the cost of rebuilding those parts before deciding.
-
Can Payload handle content moderation like Drupal?
Partly in core. Payload has drafts, versions with diffs and restore, autosave and scheduled publish, and access rules can restrict who publishes. Drupal's Content Moderation adds named states, transitions and a permission per transition in core. In Payload, a multi-step approval with named stages is an enterprise feature, Publishing Workflows, or custom work.
-
How does multilingual publishing compare?
Drupal ships four core modules for language, content, configuration and interface translation, marks each field as translatable or not, and moderates each translation separately. Payload localizes at the field level, with fallback, and keeps every locale in one document. Independent publication status per locale is available through an opt-in beta feature. Decide who owns each translation and test the required publishing flow on both.
-
Is headless Drupal an alternative to moving to Payload?
Yes. JSON:API is in Drupal core, GraphQL is available as a contributed module, and modules such as Next.js for Drupal support draft previews in a decoupled frontend. If the backend works and the frontend is the problem, decoupling Drupal can be the smaller change. Moving to Payload fits better when the content model, access rules and application logic should live in the same TypeScript codebase as the frontend.
-
What has to be rebuilt when moving from Drupal to Payload?
Plan for the editorial workflow, Views listings, Webform forms, Layout Builder or Paragraphs layouts, custom modules and access rules, translation setup, URL aliases and redirects, and search. Content moves by migration, and each of those parts needs an equivalent in Payload or in the frontend. Drupal to Payload migration guides cover the mechanics field by field.
More comparisons
Drupal against other platforms
- Adobe Experience Manager vs Drupal
- Contentful vs Drupal
- Contentstack vs Drupal
- CoreMedia Content Cloud vs Drupal
- Craft CMS vs Drupal
- DatoCMS vs Drupal
- Decap CMS vs Drupal
- Directus vs Drupal
- Drupal vs EmDash
- Drupal vs FirstSpirit
- Drupal vs Framer
- Drupal vs Ghost
- Drupal vs HubSpot CMS
- Drupal vs Hygraph
- Drupal vs Instatic
- Drupal vs Joomla
- Drupal vs Keystone
- Drupal vs Kirby
- Drupal vs Liferay DXP
- Drupal vs Optimizely CMS
- Drupal vs Prismic
- Drupal vs Progress Sitefinity
- Drupal vs Sanity
- Drupal vs Sitecore
- Drupal vs Squarespace
- Drupal vs Statamic
- Drupal vs Storyblok
- Drupal vs Strapi
- Drupal vs TYPO3
- Drupal vs Umbraco
- Drupal vs Wagtail
- Drupal vs Webflow
- Drupal vs Wix
- Drupal vs WordPress
- Drupal vs Xperience by Kentico
Payload against other platforms
- Adobe Experience Manager vs Payload
- Contentful vs Payload
- Contentstack vs Payload
- CoreMedia Content Cloud vs Payload
- Craft CMS vs Payload
- DatoCMS vs Payload
- Decap CMS vs Payload
- Directus vs Payload
- EmDash vs Payload
- FirstSpirit vs Payload
- Framer vs Payload
- Ghost vs Payload
- HubSpot CMS vs Payload
- Hygraph vs Payload
- Instatic vs Payload
- Joomla vs Payload
- Keystone vs Payload
- Kirby vs Payload
- Liferay DXP vs Payload
- Optimizely CMS vs Payload
- Prismic vs Payload
- Progress Sitefinity vs Payload
- Sanity vs Payload
- Sitecore vs Payload
- Squarespace vs Payload
- Statamic vs Payload
- Storyblok vs Payload
- Strapi vs Payload
- TYPO3 vs Payload
- Umbraco vs Payload
- Wagtail vs Payload
- Webflow vs Payload
- Wix vs Payload
- WordPress vs Payload
- Xperience by Kentico vs Payload
Open the CMS comparison tool to put up to six platforms in one table.
We're booking content platform
engagements for 2026.
Twenty-five minutes to walk through the work and decide if we're the right team for it. Scoping and a fixed price come after.