Skip to content
KeystoneJS LogoKeystoneJS

A scalable, extensible and open-source platform to build NodeJS applications

KeystoneJS comes with first-class GraphQL support, a highly extensible architecture, and a wonderful Admin UI

Get StartedView on GitHub

See how to get a "To Do" app up and running in under 4 minutes with the KeystoneJS CLI

schema => ({ GraphQL, AdminUI })

A KeystoneJS instance can be summarised as a function of your schema which creates a GraphQL API for querying, and an AdminUI for managing your data

// Define your `lists` and `fields`
keystone.createList('Todo', {
fields: {
task: { type: Text },
},
});
keystone.createList('User', {
fields: {
name: { type: Text },
email: { type: Text },
},
});
# Generated GraphQL schema
type Mutation {
createTodo(..): Todo
updateTodo(..): Todo
deleteTodo(..): Todo
createUser(..): User
updateUser(..): User
deleteUser(..): User
}
type Query {
allTodos(..): [Todo]
Todo(..): Todo
allUsers(..): [User]
User(..): User
}
type Todo {
id: ID
task: String
}
type User {
id: ID
name: String
email: String
}
Learn more creating lists and fields

Why KeystoneJS

We believe it’s the ideal back-end for React, Vue or Angular applications, Gatsby and Next.js websites, static sites, mobile applications and more

Fully featured

Zero assumptions doesn’t mean zero features. Keystone comes with dozens of features out of the box including Lists, Fields, Access Control, Authentication, and Apps. You can add and configure each these, as well as extend, modify or build your own.

Read more

Highly extensible

KeystoneJS provides an extensible Admin Interface and a powerful GraphQL API. These tools, and the building blocks Keystone provides, will allow you to create any type of application.

Read more

Own your data

Provide your own PostgreSQL or MongoDB database for to Keystone to connect to deploy your application anywhere. Have complete freedom of choice when hosting your data, admin application, API and front-end applications.

Read more

Get started in minutes

Our quick start guide will get you up and running in just a few minutes. Let's build a simple todo app with a fresh install of KeystoneJS

Read more

Use with the technology of your choice

KeystoneJS integrates seamlessly with any front-end framework, but can also be run as a headless GraphQL API and optional Admin UI

Static Files

Serve HTML, CSS, JS, images and any other static resources using an express static server. This can be quick and easy way to deploy a simple front-end with a KeystoneJS application.

Read more

Next.js

Take the pain out of creating Universal React apps with Next.js. Next.js is Zero Setup, Fully Extensible and Ready for Production.

Read more

Nuxt.js

Nuxt is a progressive framework based on Vue.js to create modern web applications. It can be used to create from static landing pages to complex enterprise ready web applications.

Read more

Headless

The primary focus of KeystoneJS is the GraphQL API and Admin UI. Because of this KeystoneJS works with all major front-end framework and is headless by default.

Read more