Skip to content

Payload review

Featured

Best for Next.js teams who want to own the database

Reviewed by Eugene SuslovUpdated August 2026No affiliate links
Payload homepage
Payload homepage, captured August 2026. Source: payloadcms.com.

Payload inverts the usual arrangement. Instead of a CMS somewhere else that your site fetches from, Payload installs into your existing Next.js application, mounts its admin panel at a route you choose, and writes to a database you provisioned. There is no vendor in the request path at all.

The config is TypeScript. You declare collections, fields, access control and hooks in code, and the admin UI is generated from that declaration. Because it is running in the same process as your app, server components can call the Local API directly and skip HTTP altogether, which removes an entire class of latency and caching problems.

This site runs on Payload, so the assessment below is from daily use rather than a trial. Payload joined Figma in 2025; the core stays MIT licensed.

Our scorecard

The same six dimensions used across every platform in this directory, so the numbers are directly comparable. Two things to hold in mind. This is our featured pick and it is also what this site runs on, so read it sceptically. And the scale does not score operational burden: running Payload means running a database, which is a real, recurring cost that is entirely absent below. Read the limits section alongside it.

  • Developer experience5/5

    Config is TypeScript, the admin is generated from it, and the Local API removes the network hop entirely.

  • Editor experience4/5

    A genuinely good admin panel with live preview, but no real-time collaborative editing and it still reads as a developer's tool.

  • Content modelling5/5

    Blocks, arrays, relationships, localisation and access control at field level, all version-controlled.

  • Pricing clarity4/5

    Free and unmetered under MIT, which is as clear as it gets. Enterprise is unpublished, which is the only deduction.

  • Lock-in risk5/5

    MIT licence plus your own Postgres. The content is queryable with plain SQL and the licence cannot be revoked.

  • SEO and AEO fit5/5

    It runs inside the Next.js app, so rendering mode, metadata and schema are entirely yours by construction.

An editorial read, not an aggregate of user reviews, and deliberately kept out of this page's structured data.

Payload in their own words

From Payload's own YouTube channel. Vendor marketing rather than an independent review, included because it is the quickest way to see the product before you sign up.

What you can query

Local API

The reason to run Payload inside Next.js

Direct database access from the same Node process as the page, with the full query and access-control layer applied. No HTTP, no serialisation, no rate limit.

REST API

Generated per collection

Auto-generated CRUD endpoints for every collection and global, with filtering, pagination, depth control and the same access rules.

GraphQL API

On by default

A generated schema covering the same collections, served with a playground, for clients that prefer it.

Authentication

Any collection can be auth-enabled

Users, sessions, JWT and HTTP-only cookies, password resets and API keys, built into the core rather than added as a plugin.

Admin panel

Mounted at a route you choose

A React application generated from your config, extensible with your own components down to individual field level.

Hooks and jobs

Runs in your process

Before and after hooks on every operation, plus a job queue for scheduled and background work such as revalidation or notification.

Who Payload is for

Next.js teams who want the content model in the same repository as the app and the data in their own Postgres. Also the strongest pick here when the CMS needs to do more than publish pages: auth, multi-tenancy, ecommerce and bespoke admin workflows are first-class rather than plugins.

Skip it if nobody is going to run a database, or if you want a vendor to be accountable for uptime.

Strengths and limits

What it does well

  • MIT licensed with no feature gating in the core, so self-hosting is genuinely free rather than a trial that ends at the first useful feature.
  • Your database, your rows. Content is queryable with plain SQL, backed up with your own tooling, and never rate-limited by a vendor.
  • The Local API removes the network hop entirely for server-rendered pages, which is the single biggest performance difference against a hosted CMS.
  • Access control, authentication and hooks are part of the core, so the CMS can back a whole product rather than just a marketing site.

Where it falls short

  • You own the operations. Database, backups, upgrades, scaling and uptime are all yours, and that is real recurring work rather than a one-off setup cost.
  • A developer is mandatory. There is no route to a live site without writing TypeScript, which rules it out for teams without engineering.
  • The ecosystem is younger than Strapi's or WordPress's, so a niche integration is more likely to be something you write than something you install.
  • Enterprise pricing is not published, so SSO and the hosted option require a sales conversation.

Payload pricing

The self-hosted version is free forever under the MIT licence, with no seat limits, no usage metering and no feature gating. What you pay for is infrastructure: a Node host and a database, which for a normal marketing site is a small monthly bill on Vercel plus a Neon or Supabase Postgres.

One-click templates exist for Vercel (Blob storage plus a Neon database) and Cloudflare (R2 plus D1). The Enterprise tier adds SSO, unlimited custom domains, a white-labelled email service and dedicated support, and is quote-only.

The honest comparison is not licence against licence. It is your infrastructure bill plus the hours somebody spends on upgrades, backups and incidents, against a hosted vendor's monthly invoice. Below a certain size, self-hosting is cheaper in money and more expensive in attention.

Self-hosted

Free

MIT licence, forever

  • No seat, request or document limits
  • Postgres, MongoDB or SQLite
  • Full source, no feature gating
  • You provide Node hosting and a database
  • Community support

One-click template

Infra only

Vercel or Cloudflare

  • Vercel: Blob storage plus a Neon database
  • Cloudflare: R2 storage plus D1
  • Auth, media and layout builder preconfigured
  • Live preview wired up
  • You still pay only the platform bill

Enterprise

Quote only

Self-hosted or with Payload

  • Single sign-on
  • Unlimited custom domains
  • White-labelled email service
  • Visual editing and advanced features
  • Dedicated support
Check current Payload pricing

Query example

A minimal fetch against the live API, with credentials read from the environment rather than pasted inline.

Fetch a post with its author, no HTTP at all · TypeScript
import { getPayload } from "payload"
import config from "@payload-config"

// Runs in the same Node process as the page being rendered. There is no
// network hop, no API key and no rate limit, because there is no vendor
// in the request path: this is a query against your own database.
const payload = await getPayload({ config })

const { docs } = await payload.find({
  collection: "posts",
  where: { slug: { equals: slug } },
  depth: 1, // resolves the author relationship in the same query
  limit: 1,
})

const post = docs[0]

Limits and quotas

  • There are no software limits. No seat cap, no request metering, no document ceiling, no feature gate. The constraints below are all operational.
  • Requires Node.js 20.9.0 or later and one of Postgres, MongoDB or SQLite, which you provision and back up yourself.
  • File uploads need a storage adapter. Local disk does not survive a serverless deploy, so plan on Vercel Blob, S3 or R2 from the start.
  • On serverless, the admin panel and the database connection both pay cold-start cost. A connection pooler such as Neon's or PgBouncer is effectively mandatory at any real traffic.
  • The Local API is only available in the same process. A separate front end has to use REST or GraphQL and gives up the main performance advantage.
  • Upgrades are yours to run. Major versions have migration guides, but nobody applies them for you.

What developers say on Reddit

Mostly positiveOur read of public threads, not a review score.

The clearest pattern in this directory. In head-to-head threads against Strapi, developers who have used both pick Payload with unusual consistency, and the reason given is almost always the same one: customisation stops fighting you the moment the config is code.

Two caveats worth weighing against that. First, several of the strongest endorsements sit in r/PayloadCMS, which is Payload's own subreddit and not a neutral room; the r/nextjs and r/webdev comments are the ones to read first. Second, the recurring counterpoint has nothing to do with the software. Developers prefer it, and clients keep asking for WordPress.

  • All of that can be done pretty easily with PayloadCMS. I wouldn't pick Strapi if I needed even a slight bit of customization. Directus is a no-go since you need localization. Give Payload a shot.
    r/PayloadCMS on Reddit
  • I switched from Strapi to Payload after research and so far I really like how Payload works, the documentation, etc. Also if you know nextjs, payload will be easier as it's also build with nextjs. Strapi is easier to use (you need less Backend knowledge). With Payload you define in code what you need. Harder first but this means you will learn more how it works as well.
    r/PayloadCMS on Reddit
  • I've used Wordpress, Payload and Strapi. And although the latter two are very powerful and preferrable from a developer perspective, my customers still prefer Wordpress
    r/nextjs on Reddit
  • Just sounds like you prefer a more gui based approach than a code-first approach. I like to have a record of my changes from a code perspective as that's what I'm hired to do. I've found the payload community to be more ambitious than strapi's, and have seen faster feedback loops in discord than most.
    r/PayloadCMS on Reddit
  • I knew nothing about NextJs when I started my Payload project. NextJs is in my opinion simple to learn if you know Js well enough. I was also learning react for the first time so it was literally all new to me. I think its very doable dependent on how comfortable you are with Js, reading docs, and learning from YouTube/tutorials.
    r/PayloadCMS on Reddit

Verdict

The best option in this directory if you are already on Next.js and the answer to "who owns the data" needs to be you. The trade is honest and stated up front: you take on the operations, and in exchange nothing about your content is metered, gated or one pricing change away from being someone else's problem.

For a marketing site with no developer attached, this is the wrong shape entirely. Look at Storyblok or Prismic instead.

Visit Payload

Payload FAQ

  • Is Payload free?
    Yes, genuinely. The core is MIT licensed with no feature gating, so a self-hosted Payload install costs nothing in software. You pay for a Node host and a database. Enterprise adds SSO and support and is quote-only.
  • Does Payload need Next.js?
    It is built for it and installs directly into a Next.js app, sharing the same repo and deployment. It can run standalone on Node, but the Next.js path is where the Local API, live preview and the admin route integration all pay off.
  • Payload or Strapi?
    Payload if you are on Next.js and TypeScript and want config as code. Strapi if your front end is not React, or if you want a larger plugin ecosystem and an admin UI that non-developers can extend without touching a repo.
  • What happened when Payload joined Figma?
    Payload announced in 2025 that it had joined Figma. The core remains MIT licensed and publicly developed. As with any acquisition, the licence on the code you already have cannot be revoked, which is the practical reason MIT matters more here than the roadmap does.

This is an independent review. We have no affiliate relationship with Payload, earn nothing if you sign up, and no vendor pays for placement in the directory. Prices were read from the vendor's own pages in August 2026 and change without notice.