Now booking enterprise content platform builds for 2026. Contact us

CMS comparison Directus vs Sanity

Directus vs Sanity

Directus is a closed-source headless CMS that you can host yourself or run on the vendor's cloud. Sanity is a closed-source headless CMS that runs on the vendor's cloud. The table below sets them side by side on 28 features. They get a different status on 10.

  • Directus Headless · Closed source · 18 of 28 built in
  • Sanity Headless · Closed source · 15 of 28 built in

Sources checked: Directus on 29 Sept 2026, Sanity 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
Directus vs Sanity feature comparison. Columns are the two platforms. Rows are features, grouped by area.
Platform
Directus Headless
Sanity Headless
Overview
What it is Source-available data platform and headless CMS that puts a Studio admin app and REST and GraphQL APIs over your own SQL database.Headless CMS with an open-source React editor, Sanity Studio, configured in code. Sanity stores content in its hosted Content Lake.
Edition compared The product and release each column describes. Directus 12, self-hosted core tier or licensed plans, with optional Directus Cloud Version 12.4.1, released 23 Sept 2026 Sanity hosted Content Lake with Sanity Studio 6 Version 6.16.0, released 22 Sept 2026
Vendor Monospace Inc. directus.com Sanity sanity.io
Licence Closed source MSCL-1.0-GPL, source-available, GPL-3.0 after four years. Free under $5M revenue and 50 staff via the Open Innovation Grant Closed source MIT for Sanity Studio. The Content Lake backend is proprietary.
Hosting Self-hosting Vendor cloud Directus Cloud is a $99 per month add-on for Core and Team. Enterprise cloud on request. No self-hosting Vendor cloud You can host the Studio anywhere, but content always lives in Sanity's cloud.
Built with TypeScript, Node.js, VueTypeScript, React for Studio. Hosted Content Lake with GROQ and GraphQL APIs
Database PostgreSQL, MySQL, MariaDB, SQLite, MS SQL Server, Oracle, CockroachDBHosted Sanity Content Lake
Pricing Public list prices only. Hosting and implementation are extra everywhere. Free to start Core free for 3 seats and 25 collections. Team $499 per month billed yearly or $599 monthly. Enterprise on request. Free to start Free plan. Growth $15 per seat per month. Enterprise on request.
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 Schema snapshots are files in the repo, applied to an instance with the CLI. 16 Built in 3
Content model in the UI Admins can create and change content types and fields in the admin interface without writing code. Built in Not available You define schemas only in Studio code. 3
Reusable blocks Editors compose pages from reusable, typed components or blocks, and can reorder them. Built in Page builders use many-to-any relations. 17 Built in Array fields of typed objects act as a page builder. 3
Localization Editors translate content per locale inside the CMS, by field or by entry, without a separate site for each language. Built in Translations field with related translation records. Plugin or add-on Official document-level and field-level internationalization plugins. 4
Image transformations The CMS resizes, crops or converts images on request, through URL parameters or generated sizes, with no external service. Built in URL parameters and saved presets. 13 Built in Image pipeline resizes, crops and converts by URL parameter. 5
APIs and delivery
REST API A documented REST or JSON HTTP API returns content. Built in Built in HTTP API queried with GROQ. 1
GraphQL API The vendor or an official module provides a GraphQL API for content. Built in Built in The Sanity CLI deploys it from the schema. 1
Webhooks The CMS can call an external URL when content is created, changed or published. Built in Through Flows. Core allows 5 Flows. 219 Built in GROQ-powered webhooks: 2 on Free, 4 on Growth. 16
Renders the website The CMS itself renders and serves the public pages through themes or templates. Headless-only products answer no. Not available Not available
Editorial workflow
Drafts Editors save changes as a draft and publish them later. The live version stays untouched until then. Built in Content versioning with a draft per item. 6 Built in 1
Scheduled publishing An editor can set a future date and time for content to publish or unpublish. Limited No schedule field. An official guide publishes future items with a scheduled Flow. 14 Paid tier Scheduled drafts on Growth and Enterprise. 1
Version history The CMS keeps earlier versions of an entry, and editors can compare or restore them. Limited Revisions kept 30 days on Core, 90 on Team, configurable on Enterprise. 2 Limited Draft history kept 3 days on Free, 90 on Growth, 365 on Enterprise. 1
Preview Editors can see unpublished content rendered as it will appear on the site before publishing. Built in Built in 17
Visual editing Editors can click on the rendered page and edit content in place or in a side panel next to it. Built in Visual Editor module. The site adds the Directus frontend library. 7 Built in Presentation tool with click-to-edit overlays on every plan. 17
Approval workflows Content moves through review stages you configure, such as draft, review and approved, with permissions per stage. Limited Built from a status field and custom permissions, which need Team, Enterprise or the grant. 152 Not available Build with document actions or a community plugin such as Workflow Manager. 914
Content releases Editors group changes across several entries and publish them together as one release. Not available Paid tier Content Releases add-on on Enterprise. 1
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 Collaborative Editing with field locking. 8 Built in 1
Access and governance
Custom roles Admins define their own roles with granular permissions instead of picking from a fixed set. Built in Unlimited roles on Core. Custom access policies need Team, Enterprise or the grant. 220 Paid tier Enterprise. Free has 2 fixed roles, Growth 5. 18
Field-level permissions Admins can restrict access to single fields, on top of content types and entries. Paid tier Custom permissions for fields and item rules need Team, Enterprise or the grant. 25 Limited API access rules are per document. Studio can hide or lock fields per role. 8
Single sign-on Editors can sign in through SAML or OpenID Connect against a company identity provider. Paid tier Team plan and up, or the grant. SAML, OpenID, OAuth 2.0 and LDAP. 211 Paid tier SAML SSO on Enterprise. 1
Audit log The CMS logs who changed what and when across the whole installation, and admins can review the log. Limited Activity log kept 30 days on Core, 90 on Team, configurable on Enterprise. 212 Paid tier Full audit trail and History API on Enterprise. 1
Platform and extensibility
Multiple sites One installation or account can manage several separate websites or brands with shared users. Not available Built in Several projects per organization and Studio workspaces. 11
Extensible admin UI Developers can add their own components, views or fields to the editing interface. Built in Extensions add interfaces, layouts, panels and modules. Built in Custom inputs, tools and document actions in the React Studio. 39
Plugin marketplace The vendor runs an official directory or marketplace of installable extensions. Built in Marketplace inside the Studio. 18 Built in Sanity Exchange. 10
Form builder Editors can build and publish forms and collect submissions without code. Not available Not available
Site member accounts The platform handles sign-up and login for public site users or members, separate from editors. Built in API-only application users do not use Studio seats. 3 Not available
AI writing assistant A first-party AI feature in the editing interface generates, rewrites or translates content. Built in AI Assistant on every plan with your own OpenAI, Anthropic or Gemini key. 29 Built in Content Agent on every plan. In-Studio AI Assist on Growth and Enterprise. 113
Official MCP server The vendor publishes a Model Context Protocol server so AI agents can read or write content. Built in Built in since 11.12. 10 Built in Hosted at mcp.sanity.io with OAuth. 12

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


Where they differ

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

Self-hosting
Directus can be self-hosted. Sanity cannot be self-hosted.

Built in on Directus, a different answer on Sanity 4

  • Content model in the UI Directus: Built in. Sanity: Not available.
  • Localization Directus: Built in. Sanity: Plugin or add-on.
  • Custom roles Directus: Built in. Sanity: Paid tier.
  • Site member accounts Directus: Built in. Sanity: Not available.

Built in on Sanity, a different answer on Directus 1

  • Multiple sites Directus: Not available. Sanity: Built in.

Built in on neither, with different answers 5

  • Scheduled publishing Directus: Limited. Sanity: Paid tier.
  • Approval workflows Directus: Limited. Sanity: Not available.
  • Content releases Directus: Not available. Sanity: Paid tier.
  • Field-level permissions Directus: Paid tier. Sanity: Limited.
  • Audit log Directus: Limited. Sanity: Paid tier.

More comparisons

Full write-ups with worked examples and costs: Directus vs Payload and Sanity vs Payload.

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.