Skip to content

Payload

Headless CMS with an admin panel, where developers define content in code and editors publish, running on Workers with D1 and R2

Payload admin panel editing a page with live preview

Payload is an open-source headless CMS and backend that lives inside a Next.js app. Developers define collections, fields and access rules in TypeScript, and editors get an admin panel with drafts, live preview and localization. Payload’s Cloudflare template runs it on Workers with D1 for the database and R2 for uploads; it needs Workers Paid because of the bundle size.

In Payload the content model is code. A payload.config.ts file defines collections, fields, access control and hooks, and Payload builds the admin panel, the REST and GraphQL APIs and TypeScript types from it. Editors work in that admin panel with drafts and versions, live preview, localization and uploads, and developers can also read the same data directly from Next.js server code. The Cloudflare template in the Payload repository starts with two collections: Users, who sign in to the admin panel, and Media for uploads stored in R2. Data lives in D1 through Payload’s SQLite adapter, which can also use D1 read replicas. The Deploy to Cloudflare button asks for names for the Worker, the D1 database and the R2 bucket and for PAYLOAD_SECRET, and the deploy script runs Payload’s migrations before deploying through OpenNext. Some features do not work on Workers yet. Image resizing and cropping are off because sharp cannot run there, and GraphQL support is not guaranteed while an upstream Workers issue is open. The same codebase also runs on Node.js with PostgreSQL, MongoDB or SQLite.

Built for: Developers who build Next.js sites or apps and want a code-configured CMS and admin panel in their own Cloudflare account

An alternative to: Contentful, Sanity

What you can use it for

  • Content backend for a marketing site, blog or docs built with Next.js
  • Admin panel and API for an app’s own data
  • Editorial work with drafts, versions and live preview
  • Media library stored in your own R2 bucket

Deploy

  • One-click

    requires Workers Paid

    The button copies the Cloudflare template from the 3.x branch of the Payload repository and asks for names for the Worker, D1 database and R2 bucket and for PAYLOAD_SECRET.

Deploy button with one secret, PAYLOAD_SECRET. New collections are added in code, followed by pnpm payload migrate:create and a redeploy.

Good to know

Needs Workers Paid: the bundle exceeds the 3 MB Worker size limit of the free plan. On Workers, image resizing and cropping are off because sharp does not run there, and GraphQL support is not guaranteed. The template starts with only users and media, so content collections are written in code and need a migration before each deploy. Workers logs are off by default.

Cost on Cloudflare

Paid Cloudflare plan required

The template needs Workers Paid ($5 a month) because its bundle is larger than the 3 MB Worker size limit on the free plan. D1 and R2 then come with their usual included allowances.

Source

The estimate is based on Cloudflare’s documented limits and the app’s configuration. What you pay depends on your usage and plan.

Where this comes from

Listing history

  • Oct 9, 2026 · Payload listed
  • EmDash admin Edit Post screen with the rich text editor, featured image and a Publish panel for scheduling

    Open-source Astro CMS from Cloudflare for blogs and marketing sites, with a WordPress-style admin and sandboxed plugins

    Deploy
    One-click
    License
    MIT
    GitHub stars
    13.8k stars
    Last commit
  • microfeed dashboard home with web, RSS and JSON feed URLs and a completed setup checklist

    Self-hosted CMS that publishes podcasts, posts, photos and links as a website, RSS feed and JSON Feed on Cloudflare

    Deploy
    CLI
    License
    AGPL-3.0
    GitHub stars
    4.1k stars
    Last commit
  • Rin blog home page with article cards, cover images, tags and reading times (Chinese-language demo blog)

    Self-hosted blog with a browser editor, comments and RSS, deployed to your Cloudflare account by GitHub Actions

    Deploy
    Manual
    License
    MIT
    GitHub stars
    3.1k stars
    Last commit