Esta página se muestra en inglés. Una traducción al español está en curso.
SkillsApr 10, 2026·3 min de lectura

Payload CMS — Open Source Fullstack Next.js Headless CMS

Payload is the open-source headless CMS and app framework built on Next.js. TypeScript-first, code-configured, with instant admin panel, auth, and file uploads.

Listo para agents

Instalación lista para agent

Este activo puede instalarse después de elegir el runtime, revisar el plan y ejecutar el comando correspondiente.

Native · 98/100Política: permitir
Superficie agent
Cualquier agent MCP/CLI
Tipo
Skill
Instalación
Single
Confianza
Confianza: Established
Entrada
step-1.md
Comando de instalación directa
npx -y tokrepo@latest install f40e26c8-349e-11f1-9bc6-00163e2b0d79 --target codex

Ejecutar después de confirmar el plan con dry-run.

TL;DR
Payload is a TypeScript-first headless CMS with auto-generated admin panel built on Next.js.
§01

What it is

Payload is an open-source, fullstack Next.js framework that gives you an instant backend with a headless CMS, admin panel, authentication, file uploads, and more, all configured in TypeScript code. Unlike traditional CMS platforms that are GUI-configured, Payload uses a code-first approach where your content schema is your source of truth.

Version 3.0 is built directly into Next.js, eliminating the traditional backend/frontend separation. MIT licensed.

§02

How it saves time or tokens

Payload generates the entire admin UI and API from your TypeScript configuration. Define a collection with fields, and Payload gives you a CRUD admin panel, REST API, GraphQL API, access control, and hooks without writing any frontend or API code. Built-in authentication with email/password, magic links, and OAuth removes the need for a separate auth system. Version history and draft/publish workflow are included, not add-ons.

§03

How to use

  1. Create a new Payload project:
npx create-payload-app@latest my-project
cd my-project
npm run dev
  1. Open http://localhost:3000/admin, create your admin user, and start building.
  1. Define a collection in your Payload config:
import { CollectionConfig } from 'payload';

const Posts: CollectionConfig = {
  slug: 'posts',
  admin: { useAsTitle: 'title' },
  access: {
    read: () => true,
    create: ({ req }) => !!req.user,
  },
  fields: [
    { name: 'title', type: 'text', required: true },
    { name: 'content', type: 'richText' },
    { name: 'status', type: 'select',
      options: ['draft', 'published'] },
    { name: 'author', type: 'relationship',
      relationTo: 'users' },
  ],
};
§04

Example

Using Payload's Local API in a Next.js page:

import { getPayload } from 'payload';
import config from '@payload-config';

export default async function BlogPage() {
  const payload = await getPayload({ config });
  const posts = await payload.find({
    collection: 'posts',
    where: { status: { equals: 'published' } },
    sort: '-createdAt',
    limit: 10,
  });

  return (
    <div>
      {posts.docs.map((post) => (
        <article key={post.id}>
          <h2>{post.title}</h2>
        </article>
      ))}
    </div>
  );
}
§05

Related on TokRepo

§06

Common pitfalls

  • Running Payload with SQLite in production causes performance issues with concurrent users. Use PostgreSQL or MongoDB for production.
  • Not configuring access control on collections exposes data publicly. Define read/create/update/delete access functions for every collection.
  • Overusing richText fields when structured fields (text, number, select) would be better. Structured fields enable typed queries and validation.

Preguntas frecuentes

What databases does Payload support?+

Payload 3.0 supports PostgreSQL and MongoDB as primary databases. SQLite is available for local development. The database adapter is configured in your Payload config.

Can Payload be used as a headless CMS?+

Yes. Payload exposes REST and GraphQL APIs automatically for all collections. You can build any frontend (React, Vue, mobile apps) that consumes these APIs. The admin panel is optional for content editors.

How does Payload compare to Strapi?+

Payload is code-first (TypeScript config) while Strapi is GUI-first (content types built in admin). Payload 3.0 is built into Next.js while Strapi is a standalone backend. Payload includes more built-in features (access control, versions, hooks).

Does Payload support localization?+

Yes. Payload supports multi-language content with field-level translations. Configure locales in your Payload config and each localizable field stores content per language.

Is Payload free?+

Yes. Payload is MIT licensed and fully open source. There are no feature restrictions in the open-source version. Payload Cloud is an optional hosted service.

Referencias (3)
🙏

Fuente y agradecimientos

Discusión

Inicia sesión para unirte a la discusión.
Aún no hay comentarios. Sé el primero en compartir tus ideas.

Activos relacionados