Skip to content
techpotions
Payload CMS · headless cms · pricing · Self-HostingNovember 2, 20266 min read

Payload CMS Pricing: Cloud vs Self-Hosted Real Bill

The real Payload CMS pricing math: free MIT core, managed Cloud vs self-hosting, infrastructure ranges, and the admin hours nobody budgets for.

Cover illustration for “Payload CMS Pricing: Cloud vs Self-Hosted Real Bill”

Payload CMS Pricing: Cloud vs Self-Hosted Real Bill

Payload CMS pricing starts with a free, MIT-licensed open-source core, then splits into two very different bills: managed Payload Cloud and the self-hosted infrastructure you assemble yourself. The line item most teams argue about — infrastructure — is usually the smaller half of the real number; the unbilled build and admin hours are the rest.

Payload CMS pricing: the zero-dollar core and what still costs money

The core software is $0. Payload is free, open source, and MIT-licensed, with no per-seat license fee to run the CMS itself. As KVY Technology puts it, Payload does not have a price — but that is not the same thing as being free to operate.

G2 lists four Payload CMS pricing editions starting at $0, which matches the open-source license. The $0 includes the admin UI, API, auth, access control, and collections. What it does not include:

  • A place to run the Node.js app
  • A Postgres or MongoDB database
  • Media storage and a CDN
  • Transactional email for password resets or notifications
  • Preview and staging environments
  • Backups and restore rehearsals
  • The time to model content, weld auth, and debug migrations

Payload Cloud vs self-hosted: two bills side by side

The decision is managed Payload Cloud vs self-hosted infrastructure. Use the Payload CMS pricing calculator for Cloud Standard and Cloud Pro when you want the current managed plan math, because Cloud is priced per project with metered overages, not as a traditional per-seat Contentful-style license.

Cost line

Self-hosted

Payload Cloud

Software license

$0

Included

Node.js compute

$0–25/mo Vercel or $5–40/mo Docker

Per project plan

Database

$0–30/mo Postgres or Mongo

Included or metered

Media storage/CDN

$0–20/mo S3 or R2

Included or metered

Email adapter

$0–20/mo Resend or Postmark

Bring your own adapter

Preview/staging

$0–25/mo extra environment

Depends on plan

Backups

$0–25/mo DIY

Usually included in managed

Admin/dev time

Largest line item

Lower

Self-hosted cost walkthrough: Vercel, Docker, Postgres, Mongo, S3/R2

If your frontend is Next.js, the lean production stack is Payload on Vercel plus managed Postgres plus Cloudflare R2 or S3. A small production site can run for roughly $20–$70/month before accounting for your time.

Stack

Stage

Typical monthly range

Vercel Pro

Production compute

$20–$25/mo

Neon or Supabase

Postgres database

$0–$19/mo

Cloudflare R2 or S3

Media storage and CDN

$0–$5/mo

Resend or Postmark

Transactional email

$0–$20/mo

Lean total

Small production

$20–$69/mo

If you need Docker, a comparable stack on Railway, Render, or Fly with MongoDB Atlas lands in roughly $30–$110/month depending on traffic, staging, and backup retention.

Stack

Stage

Typical monthly range

Railway/Render/Fly

Node.js app

$5–$25/mo

MongoDB Atlas

Database

$0–$30/mo

S3 or Cloudflare R2

Media storage

$1–$10/mo

Resend or Postmark

Email

$0–$20/mo

Docker total

Small production

$6–$85/mo

For a self-hosted Docker + Mongo baseline, this is the kind of file that anchors the stack:

YAML
# docker-compose.yml — Payload + MongoDB for staging/prod
services:
  payload:
    build: .
    ports:
      - '3000:3000'
    env_file: .env
    depends_on:
      - mongo

  mongo:
    image: mongo:7
    volumes:
      - mongo-data:/data/db

volumes:
  mongo-data:

Media and email are where the bill hides. Wire them explicitly:

TypeScript
// payload.config.ts — S3/R2 media + Resend email
import { buildConfig } from 'payload'
import { s3Storage } from '@payloadcms/storage-s3'
import { resendAdapter } from '@payloadcms/email-resend'

export default buildConfig({
  plugins: [
    s3Storage({
      collections: { media: true },
      bucket: process.env.S3_BUCKET!,
      config: {
        endpoint: process.env.S3_ENDPOINT, // set this for R2
        region: process.env.S3_REGION,
        credentials: {
          accessKeyId: process.env.S3_ACCESS_KEY_ID!,
          secretAccessKey: process.env.S3_SECRET_ACCESS_KEY!,
        },
      },
    }),
  ],
  email: resendAdapter({
    defaultFromAddress: 'noreply@yourdomain.com',
    defaultFromName: 'Your App',
    apiKey: process.env.RESEND_API_KEY!,
  }),
})

If you are wiring Payload into a Next.js app, our how to use Payload CMS with Next.js guide shows the app-pattern that keeps the server and frontend bill predictable.

The stages that actually create the bill

The honest Payload CMS pricing math is per-stage, not just per-host. For a founding team, the ranges most projects actually hit are:

Stage

What you are buying

Realistic range

Initial build

Content model, collections, auth, preview, email adapter

$0 license, many hours

Staging/preview

Extra environment or preview deployment

$0–$25/mo

Production hosting

Managed Cloud or self-host

Self-host $20–$100/mo; Cloud by plan

Media storage/CDN

S3, R2, or managed storage

$0–$20/mo

Email adapter

Password reset, invitations, notifications

$0–$20/mo

Backups

Snapshots, exports, restore tests

$0–$25/mo

Admin overhead

Migrations, upgrades, debugging, content support

The bill nobody quotes

The admin time nobody budgets

For small teams, the infrastructure line usually ends up around half the number founders expect. The other two-thirds of the real bill is development and admin time: data model changes, access-control rules, draft preview, media transforms, email flows, S3/R2 adapter setup, backup restore rehearsals, and Payload upgrades.

If you are pricing Payload CMS pricing decisions, price your team’s hours in the same spreadsheet as the VPS. A $30/month infrastructure stack is not cheaper than managed hosting if your lead spends a week getting live preview and password reset email working.

If you do not want to spend those hours in-house, our web build team handles Payload data modeling, auth, media, email, and deployment as a scoped build. If you are still comparing the build pattern, start with our Payload CMS with Next.js guide.

When managed hosting stops being worth the premium

Payload Cloud earns its premium for a team with no DevOps hours, one production project, and enough launch pressure that included backups and staging are worth more than the monthly delta. It stops being worth it when you already deploy to Vercel or Docker comfortably, when you run multiple tenants, or when metered overages push your Cloud bill past fixed self-hosted infrastructure.

Self-hosted open-source solutions can be order-of-magnitude cheaper than managed platforms when serving thousands of tenants. In the common Sanity vs Payload pricing comparison, Payload’s free software is the deciding line: you are not paying a per-seat CMS tax, only the infrastructure.

FAQ

Is Payload CMS actually free?

Yes. The core is free, open source, and MIT-licensed, with no per-seat software fee. You still pay for hosting, database, media storage, email sending, backups, and the time to run it.

How much does self-hosting Payload cost per month?

A lean Vercel + Postgres + R2 + Resend stack usually runs about $20–$70/month. A Docker + MongoDB Atlas + S3 stack can run about $30–$110/month once you include staging, backups, and transactional email.

Payload Cloud vs self-host: which is cheaper long-term?

For one project with no DevOps time, managed Payload Cloud can be cheaper once you honestly bill admin hours. For multiple projects, high traffic, or an existing Vercel/Docker workflow, self-hosting usually becomes cheaper because the software is free and the infrastructure scales without a per-project premium.

Written by
techpotions
All entries
Migrating WordPress to Astro: What Survives the Move
The weekly

One email a week, from the workshop.

What we published, what we shipped, and the free packs as they land. No drip sequence, no webinar, unsubscribe in one click.