Skip to main content
Back to Blog
Comparisons
2 min read
November 28, 2024

Payload CMS vs Directus vs KeystoneJS: Self-Hosted CMS Platforms Compared

Self-hosted headless CMS options give you full data ownership. Compare Payload, Directus, and Keystone for your content management needs.

Ryel Banfield

Founder & Lead Developer

Self-hosted headless CMS platforms give you data ownership, unlimited API calls, and no per-seat pricing. Three options lead the open-source space.

Platform Overview

Payload CMS: TypeScript-first, React admin panel, built on Next.js (v3). Code-defined schemas. Acquired by Vercel.

Directus: Database-first. Wraps any SQL database with an API and admin panel. No-code schema management.

KeystoneJS: GraphQL-first. Schema-as-code. Prisma-based. Built by Thinkmill.

Feature Comparison

FeaturePayload CMSDirectusKeystoneJS
LanguageTypeScriptTypeScriptTypeScript
Admin UIReact (customizable)Vue (customizable)React (basic)
Schema definitionCode (TypeScript)UI or codeCode (TypeScript)
APIREST + GraphQLREST + GraphQLGraphQL
DatabasePostgreSQL, MongoDBPostgreSQL, MySQL, SQLite, etc.PostgreSQL, MySQL, SQLite
ORMDrizzle (v3)Knex.jsPrisma
AuthenticationBuilt-in (JWT + sessions)Built-in (multiple methods)Built-in (basic)
Access controlField-level, code-basedRole-based, granularCode-based
Media managementBuilt-in (S3, local)Built-in (multiple adapters)Basic
Live previewYesNoNo
Drafts/versionsYesYesNo
LocalizationBuilt-inBuilt-inCommunity plugin
WebhooksYesYesBasic
Workflow/approvalBasicYesNo
HostingSelf-hosted + Payload CloudSelf-hosted + Directus CloudSelf-hosted only
LicenseMITBSL 1.1 / GPLMIT
Next.js integrationNative (lives inside Next.js)API-basedAPI-based

When Payload Wins

  1. Next.js projects: Payload v3 runs inside Next.js
  2. TypeScript codebases: Best type safety in the CMS space
  3. Custom admin UI: React-based, highly extensible
  4. E-commerce: Rich content types for product management
  5. Vercel deployment: Native integration
  6. Developer-first teams: Schema-as-code workflow

When Directus Wins

  1. Existing databases: Wraps any SQL database instantly
  2. Non-technical editors: Best admin UI for content teams
  3. Multi-database support: Connect to MySQL, Postgres, SQLite, etc.
  4. Workflow management: Approval flows, content staging
  5. No-code teams: Schema management without writing code
  6. Asset management: Advanced DAM features

When Keystone Wins

  1. GraphQL-first projects: Native GraphQL with auto-generated schema
  2. Prisma ecosystem: Leverages Prisma ORM features
  3. Simple content needs: Blog, documentation, basic pages
  4. MIT license: Fully open-source, no restrictions
  5. Custom GraphQL: Extend schema with custom resolvers

Our Recommendation

We use Payload CMS for content-managed Next.js projects. The ability to run Payload inside Next.js (same deployment, same codebase) eliminates the complexity of managing a separate CMS. For clients with existing databases or non-technical content teams, Directus is the stronger choice.

Set up your CMS with the right architecture.

Payload CMSDirectusKeystoneJSheadless CMSopen source

Ready to Start Your Project?

RCB Software builds world-class websites and applications for businesses worldwide.

Get in Touch

Related Articles