What is KeystoneJS in 2026?
KeystoneJS is an open source headless CMS and application framework for Node.js, built by Thinkmill and released under the MIT licence. Keystone 6 is the current line. You describe lists and fields in TypeScript, and Keystone generates a Prisma database schema, a GraphQL API and an admin UI built with React. The repository shows roughly 10,000 GitHub stars and was still receiving commits and releases in August and October 2026, so it is maintained. Keystone 5 is in maintenance mode, so an old project on it needs a plan.
Who is it a good fit for?
Keystone fits backend teams that want a typed data layer with access control, hooks and custom business logic in code, and an admin interface thrown in. It works for internal tools, portals and content sites where editors need a simple UI but developers need full control. It does not offer a polished page builder, a hosted cloud or a large marketplace.
What should you know before choosing it?
- It is code-first: schema changes mean code changes and a database migration.
- The API is GraphQL only. If your front end team wants REST, you add an endpoint yourself.
- You run hosting, backups and upgrades. Keystone is a library, not a managed service.
- The community and plugin set are smaller than Strapi’s or Payload’s.
- Editorial features such as live preview, scheduled publishing and multi-step approvals need custom work.
How does a Keystone project run?
We begin with the data model, because Keystone turns it into both the database and the API. We write lists, relationships and access rules in TypeScript, add hooks for side effects such as emails or syncs, and test the access rules like application code. The admin UI comes with the framework, and we add custom fields only where editors need them. Deployment is a normal Node.js service with a PostgreSQL or SQLite database, built into CI.
What does it cost to own?
Keystone has no licence fee. You pay for the database, the server, backups and the engineering time to keep dependencies current, including Prisma and Node.js upgrades. The cost is lowest for teams that already run Node.js services, and highest for teams that expected a managed product.
When we would pick something else
For a Next.js project where the CMS should live in the same repository as the front end, we choose Payload. For a larger plugin ecosystem and a visual content type builder, Strapi is the usual answer. The open source CMS list compares more options, and the headless CMS hub explains the trade-offs between them.
What we build with Keystone
- List and field design in TypeScript, with Prisma models, access control and validation.
- GraphQL queries and mutations shaped for your front end, with limits on query depth.
- Custom admin fields and views for editor workflows.
- Integrations with CRM, payments, email and search through hooks.
- Deployment, backups and upgrades on your own infrastructure.
If you want a Node.js engineer with Keystone experience on your team, you can hire a KeystoneJS developer.