PocketBase vs Payload CMS
Open-source backend in a single Go binary
vs. TypeScript-first open-source headless CMS — code-first, config-driven
Pricing tiers
PocketBase
Self-Hosted
MIT-licensed single binary. Run on any VPS / Docker / bare metal. No usage caps — only limited by your server.
$0 base (usage-based)
Payload CMS
Open Source (self-host)
MIT license. Run free on any Node host. Full admin + APIs.
$0 base (usage-based)
Cloud — Standard
$35/month. 3 GB DB storage, 30 GB file storage, 40 GB bandwidth.
$35/mo
Cloud — Pro
$199/month. Higher resources + priority support.
$199/mo
Cloud — Enterprise
Custom cloud hosting with dedicated support.
Custom
Free-tier quotas head-to-head
Comparing self-hosted on PocketBase vs oss on Payload CMS.
| Metric | PocketBase | Payload CMS |
|---|---|---|
| No overlapping quota metrics for these tiers. | ||
Features
PocketBase · 12 features
- Access Rules — Record-level access rules (filter expressions) referencing @request and @collect…
- Admin Dashboard — Built-in web UI for schema + data management.
- Auth — Email+password, OAuth2 (Google, GitHub, Facebook, Apple, Discord, Microsoft, etc…
- Backups — Built-in backup/restore with S3 upload option.
- Built-in Mailer — SMTP integration for verification, password reset, magic link emails.
- Collections — Schema-defined record types with fields, validations, and record/admin/auth acce…
- Embedded JS Engine — JavaScript VM (goja) lets you write hooks in JS without recompiling.
- Extend as Go Library — Embed PocketBase in a larger Go app, add custom routes and events.
- File Storage — Local filesystem or S3-compatible storage with access rules.
- Hooks — Server-side Go or JavaScript hooks that run on CRUD events (OnRecordBeforeCreate…
- Migrations — JS/Go migration scripts applied on startup.
- Realtime Subscriptions — SSE-based subscriptions to collection changes.
Payload CMS · 18 features
- Access Control — Function-based per-collection/field access rules.
- Admin UI — React admin — fully customizable components + views.
- Authentication — Built-in JWT + HTTP-only cookies + API keys.
- Blocks — Flexible page-builder pattern via block field.
- Collections — Schema-defined content types with fields, hooks, access control.
- Drafts & Versions — Version every change. Autosave, drafts, scheduled publish.
- Field Types — Rich field library: text, textarea, richText (Lexical), upload, relation, blocks…
- Form Builder Plugin — Dynamic forms with submissions storage.
- Globals — Single-instance documents (site settings, header, footer).
- GraphQL API (auto) — Full schema auto-generated.
- Hooks — Lifecycle hooks: beforeChange/Read/Delete, afterChange, etc.
- i18n — Multi-locale field values + admin UI translations.
- Live Preview — Side-by-side editor + iframe preview of Next.js site.
- Local API (zero latency) — Direct in-process data access. Ideal for Next.js server components.
- Multi-Tenancy Plugin — Multi-tenant content isolation via plugin.
- @payloadcms/plugin-seo — Built-in SEO meta fields.
- Plugins — Official + community plugins (SEO, Stripe, Form Builder, multi-tenant, etc.).
- REST API (auto) — Auto-generated REST endpoints for every collection.
Developer interfaces
| Kind | PocketBase | Payload CMS |
|---|---|---|
| CLI | — | create-payload-app |
| SDK | Go API (extend as library), pocketbase (Dart), pocketbase (JS SDK) | @payloadcms/next (Node) |
| REST | REST API | Payload REST API |
| GRAPHQL | — | Payload GraphQL API |
| OTHER | Admin Dashboard, Realtime SSE | Admin UI, Local API (Node.js direct) |
Staxly is an independent catalog of developer platforms. Outbound links to PocketBase and Payload CMS are plain references to their official websites. Pricing is verified against vendor pages at publication time — reconfirm before buying.
Want this comparison in your AI agent's context? Install the free Staxly MCP server.