UnfoldCMS vs Payload CMS

Two developer-first CMS options, two very different philosophies

UnfoldCMS vs Payload CMS

Payload CMS is the fastest-growing TypeScript-native headless CMS — and it just got acquired by Figma in 2025. UnfoldCMS is a Laravel + React self-hosted CMS built on shadcn/ui. Both are developer-first. They're not the same product.

This page compares UnfoldCMS and Payload CMS head-to-head: pricing, stack, deployment model, editor experience, and where each one fits. If you're evaluating both for a new project — or thinking about a switch — here's the honest picture.

TL;DR: Payload is a Node/TypeScript headless CMS where you define everything in code (config-as-code) and ship it to your own infrastructure or Payload Cloud. UnfoldCMS is a PHP/Laravel CMS with a full admin UI, themeable frontend, and a one-time license — built for shared hosting, agencies, and Laravel teams that want a CMS that looks and feels like a product, not a framework.


Quick Comparison

FeaturePayload CMSUnfoldCMSPricing modelFree OSS + paid Cloud + EnterpriseOne-time $39–$799Self-hostedYes (any Node host)Yes (any PHP host, including shared)Backend stackNode.js + TypeScriptPHP 8.3 + Laravel 12Frontend stackReact 19 + Next.js (admin)React 19 + Inertia 2 + shadcn/uiConfig modelConfig-as-code (TS files)Database-driven (admin UI)DatabasePostgreSQL, MongoDB, SQLiteMySQL, SQLiteAPIREST + GraphQL + Local APIREST + GraphQLIncludes frontend?No (headless only)Yes (themed CMS + headless API)Themes / templatesBuild your ownAurora, default, customHosting requirementNode runtimePHP shared hosting worksDocker requiredOftenNoWhite-label adminCustomize via ReactAgency tierLicenseMIT (OSS)Commercial, source available


Two Different Philosophies

Payload CMS and UnfoldCMS solve the same problem from opposite ends. Payload is developer infrastructure: you define collections, fields, access rules, and hooks in TypeScript files, then deploy a Node app. The admin UI is a React shell that reflects your code. Nothing exists until a developer writes it.

UnfoldCMS is a product with a CMS underneath. You install it, log into the admin, and the editor, blog, media library, comments, menus, redirects, and SEO are already there. Content types are configured in the UI. Themes ship out of the box. Non-developers can run it day-to-day.

Neither approach is wrong. They serve different teams. A two-person engineering shop building a custom app for a fintech startup is in Payload's sweet spot. A solo developer or three-person agency shipping ten WordPress-replacement sites a year is in UnfoldCMS territory.


Pricing: OSS-Plus-Cloud vs One-Time License

Payload is free under MIT — you can self-host the OSS core forever at zero license cost. The money shows up on Payload Cloud (managed hosting) and Payload Enterprise (support contracts, SLAs, advanced features). Cloud pricing starts around $35/month per project on the Standard tier and scales with bandwidth and database size. Enterprise is custom-quoted.

UnfoldCMS is a one-time license: $39 Core, $99 Pro, $349 Business, $799 Agency. There's no Cloud, no SaaS bill, no per-seat pricing. You buy it once, host it anywhere PHP runs, and update via git pull.

Cost scenario (5 years)Payload Cloud (Standard)UnfoldCMS (Pro)UnfoldCMS (Agency, 10 sites)License$0 (OSS)$99 once$799 onceHosting / managed~$35/mo × 60 = $2,100DIY (~$5–$30/mo)DIY (~$5–$30/mo per site)5-year base~$2,100+~$99 + hosting~$799 + hosting

Self-hosting Payload yourself drops the cost to your hosting bill plus engineering time. The trade-off is that someone has to own the Node deploy, database, backups, and security patching. UnfoldCMS expects you to do the same on a PHP host — but a $5 shared hosting plan handles it without Docker, queues, or build pipelines. For agencies running ten client sites, that delta compounds fast.


Stack: TypeScript-First vs Laravel + shadcn/ui

Payload's stack is the modern JS world: Node.js, TypeScript, React, Next.js for the admin UI, and your choice of PostgreSQL, MongoDB, or SQLite. Payload 3.0 (released 2024) doubled down on Next.js — the admin runs as a Next.js app, which means you can collocate your CMS and frontend in one repo. Type safety is end-to-end: collection types are inferred, the local API is fully typed, and queries are type-checked at compile time.

UnfoldCMS is Laravel 12 + React 19 + TypeScript + Inertia 2 + shadcn/ui + Tailwind v4. The backend is PHP. The admin is React with 50+ shadcn/ui components and 183 pages — themeable via three CSS-variable themes, fork-and-modify by design. The frontend ships with Aurora and other themes, so a marketing site renders out of the box.

If your team is TypeScript-only and you want type safety from database to API to admin, Payload is the natural fit. If you live in Laravel, want shadcn/ui as the design system, and need a CMS that includes a themed frontend rather than a headless API, UnfoldCMS slots in cleaner.


Config-as-Code vs Database-Driven

This is the philosophical fork. In Payload, everything lives in code. A new collection is a TypeScript config file. Field changes go through migrations. Access rules are functions. The schema is in your repo, version-controlled, code-reviewed.

In UnfoldCMS, content types and most settings live in the database, edited through the admin UI. Adding a new content type is a click. Changing a field label doesn't require a deploy. Editors and content managers can adjust menus, SEO defaults, and redirects without a developer.

Both approaches have real costs. Config-as-code in Payload means non-developers can't change anything structural — every collection edit is a git commit and a deploy. Database-driven in UnfoldCMS means structural changes don't get code review unless you wire that into your process.

The right answer depends on your team. If your editors are non-technical and update content daily, the database-driven model removes friction. If your team is all engineers and you want every schema change tracked in git, config-as-code is the cleaner story.


Editor Experience

Payload's editor is a React-based admin rendered from your config. You get a rich Lexical-based block editor (Payload 3.0 replaced Slate), a media library, drafts/versions, localization, and access control. It's polished — for a CMS where the admin is essentially a generated UI — but it's not a product the editor "owns." It reflects your code.

UnfoldCMS ships with a complete editorial product: blog posts with categories and tags, scheduled publishing, drafts, a media library with image optimization, comments, menus, SEO records per post, redirects, code snippets, ad zones, and announcements. The editor logs in and finds a tool that's been designed for them — not a generated form view.

If you're building a custom app where editors only manage 2–3 collections, Payload's generated admin is plenty. If you're building a content site, blog, or marketing property where editors live in the CMS daily, UnfoldCMS's pre-built editorial features save weeks of UI work.


Deployment & Hosting

Payload runs on Node. You deploy to Vercel, Railway, Fly.io, AWS, or Payload Cloud. You'll typically need a managed Postgres (Neon, Supabase, RDS) or MongoDB cluster. Docker is common for self-hosting. Build pipelines, environment variables, and Node version management are part of the workflow.

UnfoldCMS runs on PHP. Shared hosting works — the same $5/month plan that hosts a WordPress site hosts UnfoldCMS, no Docker, no build server, no Node runtime in production. Deploy with git pull, composer install --no-dev, and php artisan migrate. Frontend assets build locally and rsync up. For agencies servicing clients on cPanel hosts, that operational simplicity is the entire pitch.

If your team owns infrastructure and runs containerized services in production already, Payload's deployment model is normal. If you're a solo developer or a small agency that doesn't want to operate Docker stacks for every client, UnfoldCMS's PHP-shared-hosting model removes a category of work.


Where Payload CMS Wins

Be honest before choosing. Payload is genuinely better in three areas:

TypeScript-native end-to-end. If your stack is Node + Next.js + TypeScript, Payload feels like an extension of your codebase. The local API runs in-process — no HTTP round trips for server-rendered pages. Type inference flows from collection config to API response.

Plugin and extension ecosystem. Payload's plugin API is well-documented. There are official plugins for Stripe, Algolia, SEO, search, form builder, and more. Custom field types, hooks, and access patterns are first-class.

Backed by Figma. The 2025 Figma acquisition gives Payload long-term funding stability and signals it's not going anywhere. For risk-averse teams choosing infrastructure for a 5-year project, that matters.

If you're a Node-first team building a custom application where the CMS needs to be a deeply customized backend layer, Payload is the right tool.


Where UnfoldCMS Wins

Includes a frontend. Payload is headless — you build the frontend yourself. UnfoldCMS ships with Aurora and other themes, so a marketing site, blog, or content property is live the day you deploy. For agencies and solo developers, that's weeks of work skipped.

Shared-hosting compatible. No Node runtime, no Docker, no build server in production. Any PHP 8.3 host runs UnfoldCMS — including the cPanel plans your clients already pay for.

One-time pricing. $39–$799 once, no recurring license fees, no per-seat costs, no managed-cloud bill. The Agency tier covers unlimited domains.

Database-driven content types. Editors and content managers can configure collections, menus, and SEO without a deploy. For non-technical teams, that's the difference between owning the product and waiting on a developer.

shadcn/ui admin. The entire admin is built on shadcn/ui components — fork the Button, customize the DataTable, swap themes via CSS variables. The UI is yours, not a vendor's black box.

Laravel-native. If you already write PHP/Laravel, UnfoldCMS extends a stack you know. Eloquent models, artisan commands, Blade for the frontend, React for the admin.


Decision Framework: Which One Should You Pick?

Choose based on stack, team, and project type — not features alone.

Pick Payload CMS if:

  • Your stack is Node + Next.js + TypeScript and you want end-to-end type safety

  • You're building a custom application where the CMS is a backend layer, not a content product

  • Your editors only manage 2–5 collections and don't need a polished editorial UI

  • Your team operates Docker, manages Node deploys, and owns infrastructure

  • Config-as-code with every schema change in git is a hard requirement

  • You need deep plugin/hook customization for non-trivial business logic

Pick UnfoldCMS if:

  • You're on PHP/Laravel and want a CMS that fits the stack you already use

  • You need a CMS and a frontend — a marketing site, blog, or content property

  • You're an agency running 3–50 client sites and want one-time pricing

  • Your hosts are shared/cPanel and you don't want to operate Node + Docker per client

  • Non-technical editors need to configure collections, menus, and SEO without a deploy

  • You want shadcn/ui as the admin design system, not a vendor-proprietary UI

  • You're migrating off WordPress and want a closer feature match

For self-hosted vs SaaS trade-offs, both Payload (when self-hosted) and UnfoldCMS land on the self-hosted side. The difference is operational complexity: Payload expects Node infrastructure, UnfoldCMS runs on PHP shared hosting.


Migration: Moving To or From Payload

If you're on Payload and the operational overhead is the wrong shape for your team — or if you're on Payload Cloud and the bill is climbing — moving to UnfoldCMS is straightforward for content-heavy sites. Both speak REST and GraphQL. Both support Markdown, rich text, and media. Collection schemas map cleanly to UnfoldCMS content types.

We offer a Migration Service: $149 for blogs and small sites (up to 100 posts, content + media migrated, redirects mapped), $499 for production sites (up to 1,000 posts, custom field mapping, SEO preservation, post-launch QA). Most projects finish in 3–7 business days.

The reverse is also true — if your team grows into a Node-first shop and needs Payload's config-as-code model, content exports cleanly via the UnfoldCMS data export tools. We don't lock you in.


What Makes a CMS the Right Fit

Both Payload and UnfoldCMS are developer-friendly CMS options — they share modern stacks, type safety, sensible APIs, and respect for the developer experience. The tiebreakers are language, deployment model, and how much "product" you want versus how much you want to build.

If you'd rather define everything in code on a Node stack, Payload. If you'd rather install a working CMS on a PHP host and customize from there, UnfoldCMS.

There's no wrong answer if you pick honestly.


FAQ

Is Payload CMS still maintained after the Figma acquisition? Yes. Payload announced in 2025 that it remains open source under MIT, the team continues to ship under the Payload brand, and Figma's acquisition adds funding rather than absorbing the project. Roadmap and OSS releases continue normally.

Is UnfoldCMS open source like Payload? UnfoldCMS is source-available under a commercial license — you get the full source code with your purchase, can modify it, and self-host without restriction, but it's not OSS in the MIT/Apache sense. Payload is fully MIT-licensed. If pure OSS is a hard requirement, Payload wins on license terms.

Can I run Payload CMS on shared hosting? Generally no. Payload requires a Node.js runtime and a managed database (Postgres or MongoDB). Shared cPanel hosts that only run PHP can't host Payload. UnfoldCMS runs on the same shared hosting that runs WordPress.

Does Payload include a frontend? No. Payload is headless — you build the frontend separately, typically with Next.js. UnfoldCMS includes themed frontends (Aurora and others) so a marketing site or blog is live without separate frontend work.

Which is faster to set up for a new content site? UnfoldCMS, for content sites and blogs. The frontend is included and content types are configured in the admin UI. Payload is faster when you're building a custom application where the CMS is a backend layer and you already have a frontend codebase.

How does pricing compare for an agency running 10 client sites? Payload OSS is free per-license but each site needs Node hosting (~$10–$30/month). Across 10 sites that's $1,200–$3,600/year recurring. UnfoldCMS Agency is $799 once for unlimited domains plus your shared hosting bill. Over 5 years, the difference is meaningful.

Can I migrate from Payload to UnfoldCMS? Yes. Both expose REST and GraphQL APIs, both store content as structured data, and both support Markdown and rich text. Our Migration Service handles content, media, and SEO mapping at $149 (small sites) or $499 (production sites).

Is the editor experience different in practice? Yes, meaningfully. Payload's admin is generated from your TypeScript config — it's polished but it's a developer tool. UnfoldCMS's admin is a designed editorial product — blog, media, comments, SEO, menus, redirects all pre-built. For non-technical editors, the difference shows up in week one.


Methodology

Pricing data is from each vendor's public pricing page as of April 2026. Stack and feature comparisons reference the official documentation: payloadcms.com (Payload 3.0 docs) and unfoldcms.com/docs. Migration Service pricing is current as of this article. The Figma–Payload acquisition was announced publicly in 2025; details from official Payload and Figma communications.


Try UnfoldCMS

If UnfoldCMS sounds like the right fit, the demo takes about 90 seconds — you can browse the admin, edit a post, and switch themes without installing anything. Pricing is one-time, all tiers include the full source. Questions about migrating from Payload? Contact us — we'll scope it honestly before you commit.

If Payload is the right fit, that's a fine answer too. Both products exist because the WordPress-shaped hole in modern web development is bigger than any one CMS can fill.