Open sourceActive

Payload

Full-stack TypeScript app framework and headless CMS for websites, enterprise tools, commerce, and DAM.

Open source page

Field note

What it does

Payload started as a headless CMS and grew into a full-stack TypeScript app framework. It powers websites, enterprise internal tools, headless commerce, and digital asset management.

Capabilities

Available capabilities

Tags

Tags

Ways to use it

Ways to use it

sdk

TypeScript / payload

sdk

typescript / https://payloadcms.com/docs/getting-started/installation

sdk

typescript / payload

rest

Not filed / https://payloadcms.com/docs/rest-api/overview

graphql

Not filed / https://payloadcms.com/docs/graphql/overview

sdk

TypeScript / Not filed

rest

Not filed / Not filed

graphql

Not filed / Not filed

other

Not filed / Not filed

npm

javascript / payload

npm

javascript / @payloadcms/db-mongodb

npm

javascript / @payloadcms/db-postgres

other

Not filed / @payloadcms/db-mongodb

Product features

Product features

Access Control

Determines what a user can do with a Document and see in the Admin Panel.

Admin Panel

Auto-generated React UI matching the shape of your data and extensible with your own components.

Admin Thumbnails

Display thumbnails for uploads in the Admin Panel List view.

API Keys

API keys can be set on each user within an auth-enabled Collection.

Array Fields

Arrays are supported across all officially supported Database Adapters.

Auth Operations

Auth-enabled collections get login, logout, unlock, refresh, verify, me, and password endpoints.

Auto-Login

Skip forcing users to log in for testing and demo purposes.

Block Fields

Blocks are supported across all officially supported Database Adapters.

Bulk Upload

Upload files in bulk.

Collections

Each collection is mounted using its slug value under /api/{collection-slug}.

Config

A deeply typed JavaScript object that drives everything Payload does.

create-payload-app

Scaffold a new Payload app via npx create-payload-app.

Crop and Focal Point Selector

Admin Panel tools for cropping images and selecting focal points.

Custom Endpoints

An array of Custom Endpoints added to the Payload router.

Custom Routes

Replace built-in Admin Panel routes with your own custom routes.

Custom Strategies

Extend a collection's authentication with custom authentication strategies.

Database Adapters

MongoDB, Postgres, and SQLite adapters available.

Database & Schema

Direct DB access with migrations, transactions, and indexing across MongoDB and Postgres.

Default Access Control

Example

Fields

Define your schema and auto-generate the matching Admin UI.

File Uploads

Built-in file storage, image resizing, focal-point cropping, and media access control.

File Versioning

Version digital assets.

Form Builders

Build forms within Payload.

Globals

Globals expose get and update REST endpoints at /api/globals/{global-slug}.

GraphQL

Manage GraphQL-specific functionality including custom queries and mutations.

GraphQL API

GraphQL API served as Next.js routes alongside your front-end application.

Helpful tips

Root Hooks

An array of Root Hooks.

How to Use

Image Sizes

Automatically resize image uploads to configured dimensions.

Live Preview

Preview content changes live.

Local API

Usable on the front-end via React Server Components.

Login With Username

Allow users to log in with a username instead of an email address.

Media Access Control

Control access to media.

Method Override for GET Requests

Use POST with method override to perform GET requests.

Method Override for GET Requests

Next.js Plugin

Wrap next.config with withPayload for compatibility.

Payload Config

Fully-typed JavaScript object controlling database, admin panel, fields, and more.

Payload REST API SDK

Payload SDK can be used to query the REST API.

Plugins

An array of Plugins to extend Payload.

Point Field

The Point Field is not yet supported in SQLite.

Preferences

REST endpoints manage admin user preferences at /api/payload-preferences/{key}.

Redirects

Manage redirects.

Remote URL Upload

Upload files from remote URLs by pasting them into the Upload field.

REST API

Fully functional REST API auto-generated from Collection and Global configs.

Restricted File Types

Restrict mimeTypes in the file picker using valid mimetypes or wildcards.

Rich Text

Optional Lexical or Slate rich text packages.

Rich Text (Lexical)

Optional @payloadcms/richtext-lexical editor package.

Root-level routes

Static A/B Testing

Run static A/B tests.

Using Method Override (POST)

Visual Editing

Edit content visually.