Sanity vs Wagtail
Sanity is a closed-source headless CMS that runs on the vendor's cloud. 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 18.
- Sanity Headless · Closed source · 15 of 28 built in
- Wagtail Traditional · Open source · 18 of 28 built in
Sources checked: Sanity 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
| Platform | | |
|---|---|---|
| Overview | ||
| What it is | Headless CMS with an open-source React editor, Sanity Studio, configured in code. Sanity stores content in its hosted Content Lake. | 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. | Sanity hosted Content Lake with Sanity Studio 6 Version 6.16.0, released 22 Sept 2026 | Wagtail 8, open source Version 8.0, released 25 Aug 2026 |
| Vendor | Sanity sanity.io | Wagtail core team (created by Torchbox) wagtail.org |
| Licence | Closed source MIT for Sanity Studio. The Content Lake backend is proprietary. | Open source BSD-3-Clause |
| Hosting | No self-hosting Vendor cloud You can host the Studio anywhere, but content always lives in Sanity's cloud. | Self-hosting No vendor cloud The Wagtail project runs no managed hosting. Deploy it like any Django app. |
| Built with | TypeScript, React for Studio. Hosted Content Lake with GROQ and GraphQL APIs | Python, Django |
| Database | Hosted Sanity Content Lake | PostgreSQL, MySQL, MariaDB, SQLite |
| Pricing Public list prices only. Hosting and implementation are extra everywhere. | Free to start Free plan. Growth $15 per seat per month. Enterprise 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 3 | 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 You define schemas only in Studio code. 3 | 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 Array fields of typed objects act as a page builder. 3 | 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. | Plugin or add-on Official document-level and field-level internationalization plugins. 4 | 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. | Built in Image pipeline resizes, crops and converts by URL parameter. 5 | Built in Renditions with resize, crop and format filters. 4 |
| APIs and delivery | ||
| REST API A documented REST or JSON HTTP API returns content. | Built in HTTP API queried with GROQ. 1 | 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 The Sanity CLI deploys it from the schema. 1 | 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. | Built in GROQ-powered webhooks: 2 on Free, 4 on Growth. 16 | 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. | Built in 1 | Built in |
| Scheduled publishing An editor can set a future date and time for content to publish or unpublish. | Paid tier Scheduled drafts on Growth and Enterprise. 1 | 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. | Limited Draft history kept 3 days on Free, 90 on Growth, 365 on Enterprise. 1 | 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. | Built in 17 | 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. | Built in Presentation tool with click-to-edit overlays on every plan. 17 | 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 Build with document actions or a community plugin such as Workflow Manager. 914 | 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. | Paid tier Content Releases add-on on Enterprise. 1 | 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. | Built in 1 | 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. | Paid tier Enterprise. Free has 2 fixed roles, Growth 5. 18 | 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. | Limited API access rules are per document. Studio can hide or lock fields per role. 8 | 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. | Paid tier SAML SSO on Enterprise. 1 | 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. | Paid tier Full audit trail and History API on Enterprise. 1 | 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. | Built in Several projects per organization and Studio workspaces. 11 | 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 inputs, tools and document actions in the React Studio. 39 | Built in Hooks, viewsets and custom panels. |
| Plugin marketplace The vendor runs an official directory or marketplace of installable extensions. | Built in Sanity Exchange. 10 | 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. | Not available | 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. | Built in Content Agent on every plan. In-Studio AI Assist on Growth and Enterprise. 113 | 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. | Built in Hosted at mcp.sanity.io with OAuth. 12 | Limited Experimental wagtail-mcp package, announced September 2026. 16 |
Sanity sources
Checked 29 Sept 2026. Sanity hosted Content Lake with Sanity Studio 6.
- Sanity pricing
- sanity on npm
- Sanity docs: Schema types
- Sanity docs: Localization
- Sanity docs: Image transformations
- Sanity docs: GROQ-powered webhooks
- Sanity docs: Visual Editing
- Sanity docs: Roles and permissions
- Sanity blog: Document actions, workflows your way
- Sanity Exchange
- Sanity docs: Workspaces
- Sanity docs: MCP server
- Sanity docs: Install and configure AI Assist
- Sanity Exchange: Workflow Manager plugin
Wagtail sources
Checked 29 Sept 2026. Wagtail 8, open source.
- Wagtail 8.0 release notes
- How to use StreamField for mixed content
- Wagtail docs: Internationalization
- Wagtail docs: Images
- Wagtail API v2 usage guide
- wagtail-grapple on GitHub
- Wagtail guide: Scheduled publishing
- Wagtail guide: Configure workflows for moderation
- Wagtail docs: Permissions
- Wagtail docs: Panels reference
- Wagtail docs: Audit log
- Wagtail 6.2: content metrics and concurrent editing
- Wagtail docs: Form builder
- Wagtail docs: Private pages
- Wagtail AI
- Experiments with MCP in Wagtail
- Wagtail docs: Packages
- Wagtail docs: Signals
- django-allauth: SAML provider
- Wagtail 4.0 release notes: live preview panel
Considering more platforms? Compare Sanity and Wagtail with the rest of your shortlist in the CMS comparison tool.
Where they differ
Sanity and Wagtail get a different status on 18 of the 28 features and the same status on 10. Sanity has 15 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.
- Licence
- Sanity is closed source (MIT for Sanity Studio. The Content Lake backend is proprietary.). Wagtail is open source (BSD-3-Clause).
- Self-hosting
- Sanity cannot be self-hosted. Wagtail can be self-hosted.
- Vendor cloud
- Sanity has a vendor-run cloud. Wagtail has no vendor-run cloud.
Built in on Sanity, a different answer on Wagtail 6
- GraphQL API Sanity: Built in. Wagtail: Plugin or add-on.
- Webhooks Sanity: Built in. Wagtail: Not available.
- Visual editing Sanity: Built in. Wagtail: Limited.
- Real-time co-editing Sanity: Built in. Wagtail: Not available.
- AI writing assistant Sanity: Built in. Wagtail: Plugin or add-on.
- Official MCP server Sanity: Built in. Wagtail: Limited.
Built in on Wagtail, a different answer on Sanity 9
- Localization Sanity: Plugin or add-on. Wagtail: Built in.
- Renders the website Sanity: Not available. Wagtail: Built in.
- Scheduled publishing Sanity: Paid tier. Wagtail: Built in.
- Version history Sanity: Limited. Wagtail: Built in.
- Approval workflows Sanity: Not available. Wagtail: Built in.
- Custom roles Sanity: Paid tier. Wagtail: Built in.
- Field-level permissions Sanity: Limited. Wagtail: Built in.
- Audit log Sanity: Paid tier. Wagtail: Built in.
- Form builder Sanity: Not available. Wagtail: Built in.
Built in on neither, with different answers 3
- Content releases Sanity: Paid tier. Wagtail: Not available.
- Single sign-on Sanity: Paid tier. Wagtail: Plugin or add-on.
- Site member accounts Sanity: Not available. Wagtail: Limited.
More comparisons
Full write-ups with worked examples and costs: Sanity vs Payload.
Sanity against other platforms
- Adobe Experience Manager vs Sanity
- Contentful vs Sanity
- Contentstack vs Sanity
- CoreMedia Content Cloud vs Sanity
- Craft CMS vs Sanity
- DatoCMS vs Sanity
- Decap CMS vs Sanity
- Directus vs Sanity
- Drupal vs Sanity
- EmDash vs Sanity
- FirstSpirit vs Sanity
- Framer vs Sanity
- Ghost vs Sanity
- HubSpot CMS vs Sanity
- Hygraph vs Sanity
- Instatic vs Sanity
- Joomla vs Sanity
- Keystone vs Sanity
- Kirby vs Sanity
- Liferay DXP vs Sanity
- Optimizely CMS vs Sanity
- Sanity vs Payload
- Prismic vs Sanity
- Sanity vs Progress Sitefinity
- Sanity vs Sitecore
- Sanity vs Squarespace
- Sanity vs Statamic
- Sanity vs Storyblok
- Sanity vs Strapi
- Sanity vs TYPO3
- Sanity vs Umbraco
- Sanity vs Webflow
- Sanity vs Wix
- Sanity vs WordPress
- Xperience by Kentico vs Sanity
Wagtail against other platforms
- Adobe Experience Manager vs Wagtail
- Contentful vs Wagtail
- Contentstack vs Wagtail
- CoreMedia Content Cloud vs Wagtail
- Craft CMS vs Wagtail
- DatoCMS vs Wagtail
- Decap CMS vs Wagtail
- Directus vs Wagtail
- Drupal vs Wagtail
- EmDash vs Wagtail
- FirstSpirit vs Wagtail
- Framer vs Wagtail
- Ghost vs Wagtail
- HubSpot CMS vs Wagtail
- Hygraph vs Wagtail
- Instatic vs Wagtail
- Joomla vs Wagtail
- Keystone vs Wagtail
- Kirby vs Wagtail
- Liferay DXP vs Wagtail
- Optimizely CMS vs Wagtail
- Wagtail vs Payload
- Prismic vs Wagtail
- Progress Sitefinity vs Wagtail
- Sitecore vs Wagtail
- Squarespace vs Wagtail
- Statamic vs Wagtail
- Storyblok vs Wagtail
- Strapi vs Wagtail
- TYPO3 vs Wagtail
- Umbraco vs Wagtail
- Wagtail vs Webflow
- Wagtail vs Wix
- Wagtail vs WordPress
- Xperience by Kentico vs Wagtail
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.