Now booking enterprise content platform builds for 2026. Contact us

CMS comparison Keystone vs Wagtail

Keystone vs Wagtail

Keystone is an open-source headless CMS that you host yourself. Wagtail is an open-source traditional CMS that you host yourself. The table below sets them side by side on 28 features. They get a different status on 20.

  • Keystone Headless · Open source · 6 of 28 built in
  • Wagtail Traditional · Open source · 18 of 28 built in

Sources checked: Keystone on 29 Sept 2026, Wagtail on 29 Sept 2026. Plans and releases can change after those dates.

WAYF is an official Payload partner and top contributor. Every platform in the table is classified by the same published definitions, and each answer lists the vendor page it came from.


Feature comparison

Built inPaid tierPlugin or add-onLimitedNot available
Keystone vs Wagtail feature comparison. Columns are the two platforms. Rows are features, grouped by area.
Platform
Keystone Headless
Wagtail Traditional
Overview
What it is Open-source Node.js headless CMS from Thinkmill that generates a GraphQL API and an admin UI from a TypeScript schema.Open-source CMS built on Django. Content types are Python models, and you host it yourself on any Python stack.
Edition compared The product and release each column describes. Keystone 6, open source, from the @keystone-6/core package Version 8.1.0, released 31 Aug 2026 Wagtail 8, open source Version 8.0, released 25 Aug 2026
Vendor Thinkmill keystonejs.com Wagtail core team (created by Torchbox) wagtail.org
Licence Open source MIT Open source BSD-3-Clause
Hosting Self-hosting No vendor cloud No managed hosting. Thinkmill offers enterprise support. Self-hosting No vendor cloud The Wagtail project runs no managed hosting. Deploy it like any Django app.
Built with TypeScript, Node.js, GraphQL, Prisma, Next.js for the admin UIPython, Django
Database PostgreSQL, MySQL, SQLitePostgreSQL, MySQL, MariaDB, SQLite
Pricing Public list prices only. Hosting and implementation are extra everywhere. Free to start Free and open source. Enterprise support from Thinkmill on request. Free to start Free and open source. No licence fee.
Content modelling
Content model in code You define content types in files in your repository, review them like any other code and apply them from there. Imperative migration scripts alone count as limited. Built in Lists and fields are TypeScript config. 4 Built in Page and snippet types are Django models. 2
Content model in the UI Admins can create and change content types and fields in the admin interface without writing code. Not available Not available Developers define content types in Python only.
Reusable blocks Editors compose pages from reusable, typed components or blocks, and can reorder them. Built in Component blocks inside the document field. 8 Built in StreamField blocks. 2
Localization Editors translate content per locale inside the CMS, by field or by entry, without a separate site for each language. Not available No locale support documented. Model translations yourself. 12 Built in Core i18n with simple_translation. The wagtail-localize package adds a translation workflow. 3
Image transformations The CMS resizes, crops or converts images on request, through URL parameters or generated sizes, with no external service. Not available Image field stores originals. The Cloudinary field hands resizing to Cloudinary. 711 Built in Renditions with resize, crop and format filters. 4
APIs and delivery
REST API A documented REST or JSON HTTP API returns content. Not available GraphQL only. Custom REST routes through extendExpressApp. 4 Built in Read-only v2 API. Writable v3 API in preview since 8.0. 51
GraphQL API The vendor or an official module provides a GraphQL API for content. Built in Plugin or add-on wagtail-grapple, maintained by Torchbox. 6
Webhooks The CMS can call an external URL when content is created, changed or published. Not available No webhook settings. Call URLs from hooks in code. 10 Not available Django signals such as page_published. No webhook settings. 18
Renders the website The CMS itself renders and serves the public pages through themes or templates. Headless-only products answer no. Not available Built in
Editorial workflow
Drafts Editors save changes as a draft and publish them later. The live version stays untouched until then. Not available Built in
Scheduled publishing An editor can set a future date and time for content to publish or unpublish. Not available Built in Go-live and expiry dates. 7
Version history The CMS keeps earlier versions of an entry, and editors can compare or restore them. Not available Built in Editors can compare and revert revisions. 11
Preview Editors can see unpublished content rendered as it will appear on the site before publishing. Not available Built in 20
Visual editing Editors can click on the rendered page and edit content in place or in a side panel next to it. Not available Limited Preview panel beside the edit form. No click-to-edit on the page. 20
Approval workflows Content moves through review stages you configure, such as draft, review and approved, with permissions per stage. Not available Built in Moderation workflows with tasks assigned to groups. 8
Content releases Editors group changes across several entries and publish them together as one release. Not available Not available
Real-time co-editing Two or more editors can work on the same entry at once and see each other's changes live. Not available Not available Concurrent editing notifications warn editors. No live co-editing. 12
Access and governance
Custom roles Admins define their own roles with granular permissions instead of picking from a fixed set. Limited Roles are access-control functions written in code. No role editor in the admin. 5 Built in Groups with page, collection and model permissions. 9
Field-level permissions Admins can restrict access to single fields, on top of content types and entries. Built in Field-level access control. 5 Built in Set in code with the permission argument on panels. 10
Single sign-on Editors can sign in through SAML or OpenID Connect against a company identity provider. Not available The auth package covers password login. SSO means custom session code. 6 Plugin or add-on django-allauth supports SAML and OpenID Connect. 19
Audit log The CMS logs who changed what and when across the whole installation, and admins can review the log. Not available Built in Site-wide history report of logged actions. 11
Platform and extensibility
Multiple sites One installation or account can manage several separate websites or brands with shared users. Not available Built in Several sites in one installation with shared users. 9
Extensible admin UI Developers can add their own components, views or fields to the editing interface. Built in Custom admin pages, navigation and field views. 9 Built in Hooks, viewsets and custom panels.
Plugin marketplace The vendor runs an official directory or marketplace of installable extensions. Not available Built in Wagtail packages directory on wagtail.org. 17
Form builder Editors can build and publish forms and collect submissions without code. Not available Built in wagtail.contrib.forms form builder. 13
Site member accounts The platform handles sign-up and login for public site users or members, separate from editors. Built in createAuth works on any list, including site users. 6 Limited Login for private pages is built in. Public sign-up needs a package such as django-allauth. 14
AI writing assistant A first-party AI feature in the editing interface generates, rewrites or translates content. Not available Plugin or add-on Wagtail AI, an officially supported package. 15
Official MCP server The vendor publishes a Model Context Protocol server so AI agents can read or write content. Not available Limited Experimental wagtail-mcp package, announced September 2026. 16

Considering more platforms? Compare Keystone and Wagtail with the rest of your shortlist in the CMS comparison tool.


Where they differ

Keystone and Wagtail get a different status on 20 of the 28 features and the same status on 8. Keystone has 6 built in on its baseline edition, Wagtail has 18. Two matching statuses can still name different paid tiers or limits, so read the notes in the table before treating a row as equal.

Built in on Keystone, a different answer on Wagtail 2

  • GraphQL API Keystone: Built in. Wagtail: Plugin or add-on.
  • Site member accounts Keystone: Built in. Wagtail: Limited.

Built in on Wagtail, a different answer on Keystone 14

  • Localization Keystone: Not available. Wagtail: Built in.
  • Image transformations Keystone: Not available. Wagtail: Built in.
  • REST API Keystone: Not available. Wagtail: Built in.
  • Renders the website Keystone: Not available. Wagtail: Built in.
  • Drafts Keystone: Not available. Wagtail: Built in.
  • Scheduled publishing Keystone: Not available. Wagtail: Built in.
  • Version history Keystone: Not available. Wagtail: Built in.
  • Preview Keystone: Not available. Wagtail: Built in.
  • Approval workflows Keystone: Not available. Wagtail: Built in.
  • Custom roles Keystone: Limited. Wagtail: Built in.
  • Audit log Keystone: Not available. Wagtail: Built in.
  • Multiple sites Keystone: Not available. Wagtail: Built in.
  • Plugin marketplace Keystone: Not available. Wagtail: Built in.
  • Form builder Keystone: Not available. Wagtail: Built in.

Built in on neither, with different answers 4

  • Visual editing Keystone: Not available. Wagtail: Limited.
  • Single sign-on Keystone: Not available. Wagtail: Plugin or add-on.
  • AI writing assistant Keystone: Not available. Wagtail: Plugin or add-on.
  • Official MCP server Keystone: Not available. Wagtail: Limited.

More comparisons

Open the CMS comparison tool to put up to six platforms in one table.


We're booking content platform
engagements for 2026.

Twenty-five minutes to walk through the work and decide if we're the right team for it. Scoping and a fixed price come after.