Documentation · head to head
BookStack vs KeystoneJS

BookStack
Documentation
Self-hosted documentation wiki with a fixed shelf, book, chapter and page structure
- From
- Free
- Rated
- -

KeystoneJS
APIs
Powerful Node.js headless CMS framework and API platform
- From
- Free
- Rated
- -
The short version
- Each has a real cost: BookStack there is no vendor-hosted option at all, so you own the server, TLS certificates, database backups and upgrades, or you pay a third-party host that has no support relationship with the project and no ability to fix a bug.; KeystoneJS database support is limited to PostgreSQL, MySQL and SQLite
- They diverge on capability: BookStack covers Shelves, books, chapters, pages, KeystoneJS covers GraphQL API.
- Prices and features above were last checked on 30 August 2026.
Where they differ
Only the attributes on which BookStack and KeystoneJS actually diverge.
| Attribute | BookStack | KeystoneJS |
|---|---|---|
| Pricing model | Open source, no licence fee | open-source |
| Platforms | Web, Self-hosted, Docker | Node.js, Self-hosted |
| Category | Documentation | APIs |
| Founded | Unknown | 2016 |
Identical on both: starting price (Free), free tier (Yes), user rating (Not yet rated).
What each one covers
Drawn from each product's published feature list. An absence here means we hold no record of it - not that the product lacks it.
Only in BookStack
- Shelves, books, chapters, pages
- Dual editors
- Granular permissions
- Full text search
- Page revisions
- External authentication
- Export
- Audit log
Only in KeystoneJS
- GraphQL API
- Admin interface
- Node.js
- Next.js
- React
- Databases
- Node.js support
- Self-hosted support
Both cover
- REST API
What people use each for
The jobs each tool is most often brought in to do.
BookStack
- Running an internal knowledge base on infrastructure inside a network that cannot reach external SaaSnot KeystoneJS
- Documenting procedures and runbooks where a fixed structure prevents the tree sprawl a free-form wiki producesnot KeystoneJS
- Replacing a Confluence licence for a team that needs pages, permissions and search but none of the surrounding suitenot KeystoneJS
- Publishing customer-facing manuals from the same instance as internal documentation using per-book permissionsnot KeystoneJS
KeystoneJS
- Headless CMS implementationnot BookStack
- Content management systemsnot BookStack
- Customizable API-driven applicationsnot BookStack
Where each one falls short
Documented limitations, not opinions. Every one is a constraint you would hit in normal use.
BookStack
- There is no vendor-hosted option at all, so you own the server, TLS certificates, database backups and upgrades, or you pay a third-party host that has no support relationship with the project and no ability to fix a bug.
- The shelf, book, chapter, page hierarchy is fixed at four levels and cannot be reshaped, so migrating a deeply nested Confluence or MediaWiki space means flattening content by hand and losing the original structure.
- It requires PHP and MySQL or MariaDB, which is a stack many engineering teams no longer run, so adopting it usually means introducing a database and runtime nobody else in the organisation maintains.
- Development is concentrated on a single maintainer, which makes the bus factor a legitimate procurement question for anything the organisation intends to depend on for a decade.
- Content lives in the database rather than in files under version control, so there is no docs-as-code workflow, no review by pull request and no branch per release.
- Export is per page, chapter or book, so moving a large instance to another platform means writing a script against the REST API rather than copying a directory of Markdown.
KeystoneJS
- Database support is limited to PostgreSQL, MySQL and SQLite
- Keystone 5 is a separate legacy product documented on a different site and is not covered by the Keystone 6 docs
- Upgrading requires following a dedicated Migrate to 8.0.0 guide, so major versions are not drop-in
- Free support is a community Slack; enterprise-grade consulting and support is a separate paid engagement with Thinkmill and no published price
Pricing, plan by plan
BookStack
Free- BookStackFree
- MIT licence with no paid edition
- All features included, no seat limits
- Self-hosted on your own infrastructure
KeystoneJS
Free- Open SourceFree
- Full KeystoneJS
- Community support
Which should you pick?
Choose BookStack if
- You need shelves, books, chapters, pages.
- You want to start without paying.
- You work on Web, Self-hosted, Docker.
- You also want dual editors.
Choose KeystoneJS if
- You need graphql api.
- You want to start without paying.
- You work on Node.js, Self-hosted.
- You also want admin interface.
Questions people ask
- Is BookStack or KeystoneJS better?
- Neither clearly leads. BookStack starts at Free and KeystoneJS at Free, and user ratings are close enough to be indistinguishable. Choose on capability and platform support.
- Which is cheaper, BookStack or KeystoneJS?
- BookStack starts at Free and KeystoneJS at Free.
- Does BookStack or KeystoneJS run on more platforms?
- BookStack runs on Web, Self-hosted, Docker. KeystoneJS runs on Node.js, Self-hosted.
- Can I use BookStack for free?
- Both have a free tier, so you can try either at no cost before committing.
- What is BookStack best used for?
- BookStack is most often used for running an internal knowledge base on infrastructure inside a network that cannot reach external saas, documenting procedures and runbooks where a fixed structure prevents the tree sprawl a free-form wiki produces, replacing a confluence licence for a team that needs pages, permissions and search but none of the surrounding suite, publishing customer-facing manuals from the same instance as internal documentation using per-book permissions. Of those, running an internal knowledge base on infrastructure inside a network that cannot reach external saas and documenting procedures and runbooks where a fixed structure prevents the tree sprawl a free-form wiki produces are not what KeystoneJS is typically brought in for.
- What can BookStack do that KeystoneJS cannot?
- BookStack covers Shelves, books, chapters, pages, Dual editors, Granular permissions, Full text search. KeystoneJS covers GraphQL API, Admin interface, Node.js, Next.js. Both handle REST API.
Answered from the vendors’ own pages
BookStack: Is there a paid or hosted version?
No. BookStack is MIT-licensed with no commercial edition and no official hosted service. Third-party hosts exist but are unaffiliated with the project.
KeystoneJS: Is KeystoneJS free?
Yes, KeystoneJS is free and open source with no licensing fees. Core platform has no lock-in and is contributed to by 250+ developers.
SourceBookStack: Can I nest pages more deeply?
No. Four levels is the design, not a limitation waiting to be fixed, and content that needs deeper nesting has to be restructured.
KeystoneJS: What are hosting costs for KeystoneJS?
KeystoneJS is self-hosted and deployment-agnostic. Hosting costs depend on your chosen deployment platform (Vercel, AWS, Heroku, etc.) and infrastructure, not KeystoneJS itself.
SourceBookStack: Does it support single sign-on?
Yes, through LDAP, SAML2 or OpenID Connect, with group to role mapping, and none of it is gated behind a paid tier because there is no paid tier.
KeystoneJS: Does KeystoneJS offer paid support?
Enterprise support with tailored options is available from Thinkmill, the company behind KeystoneJS. Pricing details available upon request.
SourceBookStack: How hard is it to migrate content in?
Straightforward for flat content through the REST API, awkward for deeply nested wikis, because the structure has to be collapsed to fit.
Related pages
Other head to heads
- BookStack vs Nuclino
- BookStack vs Slab
- BookStack vs MkDocs
- BookStack vs GitBook
- BookStack vs Outline
- BookStack vs Docsify
- BookStack vs HelpDocs
- BookStack vs Read the Docs
- BookStack vs Doxygen
- BookStack vs Guidde
- BookStack vs Sphinx
- BookStack vs Archbee
- BookStack vs Adobe FrameMaker
- BookStack vs Antora
- BookStack vs Bump.sh
- BookStack vs PocketBase
- BookStack vs Sanity
- BookStack vs Appwrite
- BookStack vs Hasura
- BookStack vs Strapi
- BookStack vs Parse Server
- BookStack vs Payload CMS
- BookStack vs Directus
- BookStack vs Kong
- BookStack vs Swagger/OpenAPI
- BookStack vs Gravitee
- BookStack vs Tyk
- BookStack vs Trustly
- BookStack vs Tuum
- BookStack vs Unit
- BookStack vs Vodeno
- BookStack vs Weavr
- BookStack vs Apollo GraphQL
- KeystoneJS vs Nuclino
- KeystoneJS vs Slab
- KeystoneJS vs MkDocs
- KeystoneJS vs GitBook
- KeystoneJS vs Outline
- KeystoneJS vs Docsify
- KeystoneJS vs HelpDocs
- KeystoneJS vs Read the Docs
- KeystoneJS vs Doxygen
- KeystoneJS vs Guidde
- KeystoneJS vs Sphinx
- KeystoneJS vs Archbee
- KeystoneJS vs Adobe FrameMaker
- KeystoneJS vs Antora
- KeystoneJS vs Bump.sh
- KeystoneJS vs PocketBase
- KeystoneJS vs Sanity
- KeystoneJS vs Appwrite
- KeystoneJS vs Hasura
- KeystoneJS vs Strapi
- KeystoneJS vs Parse Server
- KeystoneJS vs Payload CMS
- KeystoneJS vs Directus
- KeystoneJS vs Kong
- KeystoneJS vs Swagger/OpenAPI
- KeystoneJS vs Gravitee
- KeystoneJS vs Tyk
- KeystoneJS vs Trustly
- KeystoneJS vs Tuum
- KeystoneJS vs Unit
- KeystoneJS vs Vodeno
- KeystoneJS vs Weavr
- KeystoneJS vs Apollo GraphQL
