KeystoneJS is an open-source headless content management system and application framework for teams that build with JavaScript and TypeScript. Developers describe content models in code, and Keystone generates both a GraphQL API and an Admin UI for editing the content behind it. It serves product teams where engineers own the backend and editors need a purpose-built interface for pages, posts, and structured data.[1][2]
Quick verdict
Teams of developers building content-driven sites will benefit most from KeystoneJS. The decisive capability is the code-first schema that produces a working GraphQL API and Admin UI together, so backend boilerplate disappears without giving up custom logic. The material constraint is that everything starts in TypeScript and runs on infrastructure the team hosts itself, so non-technical users working alone should choose something else. If the team has developers and a database to run, choose KeystoneJS for programmable content infrastructure; if nobody writes code, pick a hosted visual CMS such as Directus instead.[1][2][3]
Key features
GraphQL API from a TypeScript schema Declaring lists and fields yields queries, mutations, filters, and relations automatically, and custom queries and mutations extend the schema where generated operations stop.[1][2]
Generated Admin UI Editors get list views, detail forms, and content management screens without design work, and developers can add custom pages, navigation entries, and branding.[1][2]
Fine-grained access control Read, create, update, and delete rules attach to lists and fields, so editorial permissions and public API exposure follow the same policy.[1][2]
Authentication and sessions Built-in auth with session management covers sign-in flows for editors and application users instead of requiring a separate identity layer.[1][2]
Document field for rich content A structured rich-text field supports editorial writing with formatting and embedded content, documented with its own guides and demo.[1]
Postgres, MySQL, or SQLite storage Prisma migrations move the schema between providers, with SQLite suited to development and embedded scenarios rather than production.[1]
Broad field-type library Text, timestamps, passwords, relationships, images and files, JSON, selects, and virtual fields cover common catalogue, publishing, and account shapes.[1][2]
Hooks and schema extension Event hooks run custom logic around operations, and documented extension points add virtual and custom fields plus testing support.[1][2]
Who will love it
The schema lives in the same language and repository as the rest of the application, so content changes ride the normal code-review and CI workflow.[1]
Teams outgrowing spreadsheets or a generic CMS get an admin interface shaped exactly around their data model.[1][2]
The generated API gives every client, from marketing sites to mobile apps, one typed content endpoint.[1]
Who should avoid it
Modelling content requires writing TypeScript and running Node.js infrastructure, so solo marketers or founders need a hosted no-code CMS instead.[1]
There is no vendor-hosted Keystone cloud; the database, deployment, backups, and scaling belong to the adopting team.[1][2]
A static site or a lightweight page builder delivers a few pages with far less setup than a self-hosted application framework.[1]
Questions worth asking
What is the best KeystoneJS alternative for non-technical users?
Is KeystoneJS really no-code?
How much does KeystoneJS cost per month?
Sources and editorial review
Source research. Reviewed on October 11, 2026. Written by Sanjib Sah. AI assisted; reviewed by a human editor.
We have not run or tested this product.
- KeystoneJS: The superpowered headless CMS for developers
official · Observed October 11, 2026
Positioning, feature list, enterprise support, adoption signals
- keystonejs/keystone on GitHub
official · Observed October 11, 2026
Repo identity, license and stack signals
- Keystone 6 developer documentation
official · Observed October 11, 2026
Guide inventory: auth, access, document fields, custom admin
- Choosing the right database - Keystone 6 docs
official · Observed October 11, 2026
Supported database providers and production guidance