Compare
Directus or Sanity: a database-first data platform or a document content platform?
Short answer
Directus vs Sanity turns on where content lives: Directus wraps a SQL database other systems share, while Sanity stores documents in its hosted Content Lake (Directus docs; Sanity docs, October 2026). Past 3 free seats, Directus Team costs $499 a month billed yearly unless its grant applies; Sanity Growth is $15 per seat monthly (Directus pricing; Sanity pricing, October 2026).
- Where content lives
- Your SQL database vs Sanity's hosted Content LakeDirectus connects to PostgreSQL, MySQL, Oracle, SQL Server, SQLite or CockroachDB; Sanity Studio is open source, but the Content Lake behind it runs only on SanitySources: Directus Docs (Database configuration); Sanity Docs (Hosting and deployment, Studio development)
- Directus license since version 12
- Source-available MSCL; GPLv3 after 4 yearsReplaced the Business Source License; Core is free with 3 seats, 25 collections and 5 Flows; the grant needs under $5M revenue and fewer than 50 employeesSources: Directus (Evolving Our License for Long-Term Sustainability, Pricing); Directus on GitHub (Monospace Sustainable Core License); Directus Docs (Licensing overview)
- Entry paid price, as of October 2026
- Directus Team $499 a month; Sanity Growth $15 a seatDirectus Team is $499 a month billed yearly or $599 monthly, with 10 seats, before hosting; Sanity Growth bills monthly, up to 50 seatsSources: Directus (Pricing); Sanity (Plans that scale with you, Sanity for Startups)
- Ten editors, per month
- $150 on Sanity Growth; $499 on Directus TeamDeploi arithmetic from the figures above: 10 seats at $15, against Team billed yearly; Directus's figure excludes servers and database, and the grant makes it $0
Deploi’s call
Pick Directus when the SQL database is the point: other systems depend on those tables and they must stay where they are. Pick Sanity when the content is editorial and the database is a chore, because Sanity hosts it and 10 editors pay $150 a month on Growth instead of $499 a month billed yearly on Directus Team, as of October 2026 (Deploi arithmetic). Since Directus 12, the small-team answer turns on whether you qualify for Directus's grant.
SanityChoose Sanity over Directus when
- Your content is editorial and no other application reads it from a SQL database, so moving it to a hosted document store loses nothing.
- Nobody should run a database, backups and license keys, because Sanity hosts the Content Lake and self-hosted Directus doesn't.
- You have more than 3 editors and don't qualify for the Open Innovation Grant, because 10 Sanity Growth seats cost $150 a month against $499 a month billed yearly for Directus Team (Deploi arithmetic), as of October 2026.
- Several editors share one document and want no field locks, because Directus's Collaborative Editing locks the field a colleague is editing and Sanity's real-time editing is on every plan, as of October 2026.
OtherChoose Directus over Sanity when
- Content lives in PostgreSQL, MySQL, SQL Server or Oracle tables that other systems read and write, because Directus registers them in place.
- Content must stay on infrastructure you control, because Sanity's Content Lake has no self-hosted option.
- Your organization has under $5M in annual revenue and fewer than 50 employees, so a free Open Innovation Grant key lets you self-host Directus with no license fee, as of October 2026.
- Operations staff need dashboards and visual automations on the same data editors manage, because Directus ships both in its Data Studio.
How do Directus and Sanity compare side by side?
Sanity vs Directus is a choice between a database Sanity hosts and one you supply, where Directus "reads the schema it finds" (Directus comparison page, October 2026). Sanity's Content Lake answers GROQ (Graph-Relational Object Queries) and GraphQL (Sanity pricing, October 2026). Our view of Directus rests on its documentation and public sources, so each row is checked against both vendors' pages.
| Dimension | Directus | Sanity |
|---|---|---|
| Where content lives | Your SQL database | Sanity's hosted Content Lake |
| Databases | PostgreSQL, MySQL, Oracle, SQL Server, SQLite, CockroachDB | None to run |
| License | Source-available; General Public License after 4 years | Studio open source; Content Lake proprietary |
| Hosting | Self-host or Directus Cloud | Studio anywhere; data on Sanity only |
| Query layer | Filter syntax, GraphQL | GROQ, GraphQL |
| Free tier | Core: 3 seats, 25 collections | Free: 20 seats, 10,000 documents |
| Entry paid price (dollars a month) | Team: $499 billed yearly, $599 monthly | Growth: $15 a seat, monthly |
| Co-editing | Presence, field locking | Real-time editing, every plan |
| Verdict | Fits content that must stay in your SQL tables | Fits editorial content you won't host |
Where does your content live in Directus and in Sanity?
Directus keeps content in a SQL database that you choose and other systems can share; Sanity keeps it in a hosted Content Lake that you reach through Sanity's application programming interfaces (APIs). Directus connects to PostgreSQL, MySQL, Oracle, SQL Server, SQLite or CockroachDB (Directus database docs, October 2026). It counts tables "created in your database and then registered in Directus" as collections (Directus licensing docs, October 2026), so an order system or a reporting job can keep reading those tables while editors work in Directus.
Sanity splits the stack. Sanity Studio, the editing app, is open source and you can host it yourself or on Sanity, but your content can't move with it: Studio "always connects to a dataset in the hosted Content Lake, also when run locally. Your content is never stored locally." (Sanity Studio development docs, October 2026). Directus's comparison page agrees: "Sanity has no self-host option for the Content Lake" (Directus comparison page, October 2026).
What did Directus 12's license change do to cost?
Directus 12 (2026) put paid tiers and enforced limits above a free Core tier, so Directus is free only within Core's limits or under its grant. It replaced the Business Source License with the Monospace Sustainable Core License (MSCL), "a source-available license derived from the Fair Core License (FCL)" (Directus license post, October 2026). Each version converts to the General Public License version 3 (GPLv3) after four years (Directus license on GitHub, October 2026). Four rules change your bill:
- Core is free and capped. Self-hosted instances without a license run on Core: 3 Studio seats, 25 collections and 5 Flows, with no single sign-on (SSO) and custom permission rules ignored (Directus pricing; Directus 12 breaking changes, October 2026).
- Junction and translation tables count. Each counts, so many-to-many links reach 25 sooner (Directus licensing docs, October 2026).
- The grant is a key you apply for. The Open Innovation Grant covers entities "with less than $5M in annual revenue and fewer than 50 employees" and arrives as a free license key valid for one year (Directus grant docs; Directus licensing docs, October 2026).
- Limits are enforced. New instances are enforced at once; upgraded ones get 30 days, then Directus blocks item endpoints and disables its GraphQL, WebSockets and Model Context Protocol (MCP) interfaces (Directus 12 breaking changes, October 2026). Enforcement never deletes data.
What does the same team pay on Directus and on Sanity?
Ten editors cost $150 a month on Sanity Growth and $499 a month billed yearly on Directus Team, before Directus's servers (Deploi arithmetic). Directus offers nothing between free Core and Team, so without the grant a fourth editor needs Team. Directus Cloud adds $89 a month billed yearly, or $99 monthly (Directus pricing, October 2026). Sanity's self-serve plans bill monthly only (Sanity pricing, October 2026).
| Studio users | Sanity | Directus self-hosted |
|---|---|---|
| 3 | $0 on Free, or $45 on Growth | $0 on Core |
| 10 | $150 on Growth | $499 billed yearly, or $599 monthly |
| 25 | $375 on Growth | $1,249: $499 yearly rate plus 15 seats at $50 |
| Grant holder | Not applicable | $0, or $99 for Directus Cloud hosting |
Sanity's nearest match to the grant is its Startup Program: a free year of Growth for startups with up to 20 employees and $5M in funding, through partner investors (Sanity startups, October 2026). What Free and Growth include covers usage quotas.
How do the data models and queries differ?
Directus models content as database tables and Sanity models it as documents, and each query layer follows from that:
- Directus. Collections are tables, fields are columns and relationships are foreign keys; Many to Any lets one field point at items in several collections (Directus comparison page, October 2026). Any service with database access can query the same rows in SQL.
- Sanity. Typed documents link by references, and GROQ (Graph-Relational Object Queries) can "join information from multiple documents" in one request (Sanity GROQ docs, October 2026).
- Both. Each offers GraphQL (Directus overview; Sanity pricing, October 2026).
deploi.ca's Shopify sections show the document model at work. There, 1,528 app profiles are stored once and joined into 701 decision pages at query time with GROQ, counted 24 October 2026. So a price refresh is one edit per app, provided the source record is right. One limit shaped that build: references across datasets need an Enterprise plan with the feature enabled (Sanity cross-dataset docs, October 2026), so deploi.ca links its two datasets with validated URL strings instead.
Which one suits editors and operations teams?
Sanity suits editorial teams that write together; Directus suits mixed teams where operations staff build dashboards and automations on the same data (Deploi's judgment).
- Editors writing together. Real-time editing is on every Sanity plan, and Comments, Tasks and Scheduled drafts are on Growth (Sanity pricing, October 2026). Directus also documents Collaborative Editing (Directus 11.15.0 or later), which locks the field a colleague is editing (Directus Collaborative Editing docs, October 2026). Directus's comparison page concedes that Sanity's multiplayer editing is "more complete for editorial teams working concurrently on the same documents" (Directus comparison page, October 2026).
- Operations staff. Directus's Data Studio is "A web app for your whole team to manage content, files, users, and dashboards", with Flows for automation (Directus overview, October 2026).
- Team logins. Single sign-on (SSO) needs a paid tier on both products unless Directus's grant applies. On Directus it comes with Team, though "SSO is not available on Core and cannot be added as an add-on" (Directus pricing, October 2026). Sanity lists SSO on Enterprise only, and custom roles too; Growth has five fixed roles (Sanity pricing, October 2026). Sanity's command line login reference mentions a Growth SSO add-on that the pricing page doesn't list (Sanity login reference, October 2026), so plan for Enterprise and ask Sanity in writing.
What does Directus's own comparison get right and wrong about Sanity?
Directus's Sanity comparison page, dated 4 June 2026, is right about architecture and wrong on two current facts. It is right that the Content Lake is hosted only, that Sanity offers no direct SQL access, and that Sanity's co-editing is stronger (Directus comparison page, October 2026). It is also right to tell you to model a year of usage, because Growth bills per request and per gigabyte above its quotas (Sanity pricing, October 2026). Two claims are wrong:
- "There's no native MCP server." Sanity runs a hosted Model Context Protocol (MCP) server (Sanity MCP docs, October 2026), which Sanity's January 2026 update calls "now generally available" (Sanity update, October 2026). Our MCP server review covers what it does.
- "Growth-tier seats sit in the mid-double-digits per user per month", the page says, and it lists document counts among Growth's overages. Growth costs $15 per seat a month (Sanity pricing, October 2026), and Growth allows no overage above its document quota (Sanity plans and payments, October 2026).
How do you move from Directus to Sanity, or keep both?
You either remodel Directus tables as Sanity documents, or keep Directus for operational data and move only editorial content to Sanity; split first whenever other systems write those tables (Deploi's judgment). A move is a remodel, not a copy. Each collection becomes a document type, foreign keys become references, junction tables usually fold into arrays of references, and rich text becomes Portable Text. Sanity's MCP (Model Context Protocol) server lists guided migration paths from Contentful, WordPress, Strapi and Drupal, not Directus, per its 15 December 2025 launch post (Sanity MCP launch post, October 2026). Its migration skill for AI agents has no Directus guide either, so plan a custom import script; Sanity says "This is agent-scaffolded, not fully automated." (Sanity August releases, October 2026). Our playbook for any move to Sanity covers the script, stable IDs and cutover.
Count these before you ask anyone to scope the move:
- Collections, including junction and translation tables.
- Many to Any fields, which become arrays of references to several document types.
- Rich text fields to convert to Portable Text.
- Flows and dashboards to rebuild, because neither carries over.
- Every system that reads or writes the tables today.
If Strapi is also on your shortlist, Sanity vs Strapi covers the self-hosted versus hosted choice in general, and the three-way shortlist ranks all three.
Deploi’s point of view
- Where we disagree
- Three common answers are out of date or wrong. First, that Directus is open source and free under $5M: since Directus 12 it is source-available under the MSCL, the free grant also needs fewer than 50 employees, and an instance over Core's limits loses its GraphQL and item endpoints until it is licensed or cut back. Second, that Sanity has no native MCP server: Sanity runs a hosted one, generally available per its January 2026 update. Third, that Sanity Growth seats cost in the mid-double-digits with document overages: Growth is $15 per seat a month and allows no document overage; the quota is a ceiling you raise with an add-on or Enterprise.
- What we’ve seen
- deploi.ca's Shopify sections run on Sanity, and they show the document model this page compares. 1,528 app profiles are stored once and joined into 701 decision pages at query time with GROQ, counted 24 October 2026, so a price refresh is one edit per app, provided the source record is right. Cross-dataset references need an Enterprise plan with the feature enabled, so we link our two datasets with validated URL strings; 254 of 256 live answers carry those links. Our view of Directus rests on its documentation and public sources.
- What we'd tell you to do first
- List every system that reads or writes your content database today. If the only reader is the website, the database isn't a constraint, and Sanity's hosted model removes it. If an order system, an app or a reporting job is on the list, keep the tables, price Directus Team or the grant, and consider Sanity only for the editorial layer.
- What we refuse to promise
- We won't say a Directus to Sanity move takes a given number of weeks or costs a given amount. Neither vendor publishes a figure, and the answer depends on your collection count, your rich text and the systems tied to your tables. We scope it on a call.
When this answer changes
- Directus changes Core's limits, Team's price or the Open Innovation Grant thresholds
- Directus changes license enforcement: the grace period or which interfaces lock
- Sanity changes the Growth seat price, the 50 seat limit or the 25,000 document quota
- Sanity offers a self-hosted or customer-cloud Content Lake
- Sanity adds Directus to its MCP server's guided migration paths
- Directus corrects its comparison page's claims about Sanity's MCP server or Growth pricing
Sources
Every source opened and checked on 25 October 2026.
- Sanity, Plans that scale with you
- Sanity Docs, Hosting and deployment
- Sanity Docs, GROQ introduction
- Sanity, You’ll need a CMS eventually. Let your agent set it up.
- Sanity, What’s New January 2026
- Sanity Docs, Sanity MCP server
- Sanity Docs, Plans and payments
- Sanity, Sanity for Startups
- Sanity Docs, Cross-dataset references
- Sanity Docs, Content Lake (Datastore)
- Sanity Docs, Login CLI command reference
- Directus, Pricing
- Directus, Evolving Our License for Long-Term Sustainability
- Directus Docs, Getting started overview
- Directus Docs, Database configuration
- Directus Docs, Licensing overview
- Directus Docs, Open Innovation Grant
- Directus Docs, Breaking changes in version 12
- Directus, Sanity vs. Directus
- Directus Docs, Self-Hosting Overview
- Directus on GitHub, Monospace Sustainable Core License
- Sanity Docs, Studio development
- Sanity on GitHub, sanity-migration skill
- Sanity, What’s new in August
- Directus Docs, Collaborative Editing