Skip to content
Head to head · Verified 17 September 2026

Sanity vs Contentful

Sanity

Best for structured content at scale

Priced per editor by the month, with the content model written as code and no charge for locales.

$15 / seat / mo

Growth, billed monthly

Contentful

Best for enterprise governance

A flat paid plan that stops at twenty users and three locales, then hands you to sales.

$300 / mo

Lite, up to 20 users

Short answer

Sanity is cheaper for almost any team under twenty editors, and the reason is structural rather than promotional. Growth costs $15 a seat each month, so five editors cost $75. Contentful's first paid plan is a flat $300, however few people use it.

Twenty editors is where the two meet at $300, and it is also where Contentful's self-serve plan ends. Lite allows twenty users and three locales, with no add-on for either. The twenty-first person or the fourth language means an Enterprise quote.

Contentful earns that quote when governance is the actual requirement: SSO, EU data residency, custom roles and an uptime SLA. Sanity also keeps SSO and an SLA on Enterprise, so that list sends both of them to sales.

The workload most likely to turn the arithmetic around is heavy uncached traffic. Past the allowances, Sanity bills uncached requests at $40 a million and Contentful at $5. If your pages query the live API rather than a cache, model that before headcount.

Key takeaways
  • 01Contentful's usage terms bar its Free plan from commercial use, so a business site starts at $300 a month.
  • 02Five editors cost $75 a month on Sanity Growth and $300 on Contentful Lite, four times more.
  • 03Contentful Lite stops at 20 users and 3 locales with no add-on for either; Sanity does not charge for locales.
  • 04Contentful's $300 plan still holds 10,000 records, the same as Free, and more room costs $850 a month.
  • 05Sanity's API does not check writes against your schema, so content written outside Studio is only as valid as your own code.

Sanity vs Contentful looks like a choice between two hosted content platforms with similar feature lists. On a spec sheet, it mostly is. Both store structured content, serve it through a CDN and offer GraphQL, live preview and an MCP server. Both also keep single sign-on behind an enterprise contract.

Where they differ is in what makes the bill move. Sanity charges for each person who edits. Contentful charges for a plan, and the plan decides how many people, languages and projects you get before the price stops being published.

That makes this a headcount and localisation decision before it is a feature decision. It is the axis this page is built on. The sections on the content model and the editor come after it, because they matter most once the price has narrowed the field.

Every price below is the US price in dollars, read from sanity.io/pricing and contentful.com/pricing through a US connection on 17 September 2026. Plan limits come from each vendor's own documentation, read the same day. Nothing is converted from another currency.

For disclosure: this site runs on Payload, the featured pick in the headless CMS directory, which Figma has owned since 17 June 2025. Neither vendor on this page pays for placement, and no link here is an affiliate link.

Side by side

Sanity vs Contentful, side by side

Every value in the first block comes from the same record that drives the directory listing, so this table cannot disagree with the cards. Accented tags are capabilities one side has and the other does not.

 
What it is
The structured-content platform behind a large share of serious Next.js marketing sites. You build the editing Studio as React code in your own repository; Sanity hosts the content and serves it over GROQ.
The enterprise default, and a Salesforce company since September 2026. Mature APIs, serious governance and localisation, EU data residency, and a pricing model that jumps from free to $300 a month with nothing in between.
Entry price
$0. Growth is $15 per seat/mo, up to 50 seats
$0. Free tier, then Lite at $300/mo
Free tier
20 seats, 10k documents, 250k API requests/mo, forever
10 users, 100k API calls/mo, 10k records, 2 locales
How it bills
Managed SaaS, Proprietary
Managed SaaS, Proprietary
Data covered
Visual editing, Live preview, Localization, Workflows & roles, Versioning & drafts, Media CDN, AI assist
Visual editing, Live preview, Localization, Workflows & roles, Versioning & drafts, Media CDN, AI assist
Built for
Agencies, In-house marketing teams, SaaS & product teams, Enterprise & multi-brand
Enterprise & multi-brand, In-house marketing teams, SaaS & product teams, Agencies
MCP server
Yes
Yes
Paid entry plan
Growth, $15 per seat / mo
Lite, $300 / mo flat
Commercial use on Free
No restriction found in its terms
Not permitted by its usage terms
Paying
Card, monthly only, no minimum term
Card, invoiced monthly
Users on the paid entry plan
Up to 50, each seat billed
Up to 20, no add-on
Read-only users
Viewer role is free on every plan
No seat-free role named
Roles
Administrator and Viewer on Free, 5 on Growth
Admin and Editor on Free, 3 on Lite
Locales
Not charged, within 2,000 or 10,000 unique attributes per dataset
2 on Free, 3 on Lite, then Enterprise
Content items
10,000 documents on Free, 25,000 on Growth, drafts included
10,000 records on Free and Lite, 50,000 in a Lite Space
More room for content
$299 / mo quota add-on, 50,000 documents
$850 / mo Lite Space, one allowed
Content types
Unlimited, within the attribute limit
25 in a Starter space, 50 in a Lite Space
Environments
2 datasets, up to 2 more at $999 / mo each
2 per Starter space, 4 in a Lite Space, aliases on every plan
Delivery included
1m CDN and 250k uncached requests / mo
100K calls on Free, 1M on Lite, cached CDN hits not counted
Request overage
$1 per 250k CDN, $1 per 25k uncached
$5 per started million
Bandwidth
100GB, then $0.30 per GB
50 GB on Free, 100 GB on Lite, then $0.15 per GB
At the free cap
Requests fail with HTTP 402
Hard cap, extra calls not allowed
Where the schema lives
TypeScript in your repository
In the platform, via the web app or CLI migrations
Server-side validation
None, Studio validates
Required fields enforced on publish
Visual page building
Presentation tool, from Free
Contentful Studio, Enterprise only
Comments and tasks
Growth
Entry comments and tasks ticked on Free, field comments on Lite
Workflows
Not listed on the pricing page
Up to 5, only in a Lite Space
Draft history
3 days on Free, 90 on Growth
Versioning ticked on every plan
Single sign-on
Enterprise only
Enterprise only
EU data residency
Not listed on the pricing page
Enterprise only
Startup discount
A year of Growth free for early-stage startups
None on the pricing page
Ownership
No change of ownership found
Salesforce, since 1 September 2026
Cost modelling

The same workload, priced both ways

Eight workloads, each priced at the plan it actually requires on both platforms. The trap in most comparisons is setting the free tiers against each other. Contentful's Free plan is not licensed for a commercial site, and Sanity's Free plan makes every editor an administrator.

Workload
Sanity
Contentful
Difference
A commercial site with three editors and two locales
$0 on Free with every editor an Administrator, or $45 / mo on Growth for real roles
$300 / mo on Lite, because Free is not licensed for commercial use
Sanity by 6.7x, $45 against $300, once both have editor roles
Five editors, three locales, under a million delivery requests
$75 / mo on Growth
$300 / mo on Lite
Sanity by 4.0x, or $2,700 a year
Twenty editors
$300 / mo on Growth
$300 / mo on Lite, at its user maximum
Level, and the last headcount Lite can hold
Ten editors plus thirty people who only read
$150 / mo, because Viewers take no seat
40 users, past Lite's 20: Enterprise, no published price
Cannot be completed from Contentful's website
Five editors publishing in four languages
$75 / mo, locales are not charged
Past Lite's 3 locales: Enterprise, no published price
Cannot be completed from Contentful's website
Five editors and 30,000 content items
$374 / mo: Growth plus the $299 quota add-on
$1,150 / mo: Lite plus an $850 Lite Space
Sanity by 3.1x, though a document and a record are not the same unit
Five editors and 5 million requests to the delivery CDN
$91 / mo: $75 plus $16 of CDN overage
$300 to $320 / mo, depending on cache hits
Sanity by 3.3x to 3.5x
Five editors and 2 million uncached API requests
$145 / mo: $75 plus $70 of overage
$305 / mo: $300 plus one $5 block
Sanity by 2.1x at five editors, Contentful from sixteen

Plan prices are the US prices in USD, read from sanity.io/pricing and contentful.com/pricing through a US connection on 17 September 2026. Sanity's overage is $1 per 250,000 CDN requests and $1 per 25,000 uncached ones. Contentful's is $5 per started million calls, and cached CDN responses are not counted, so its figure moves with your cache hit rate. Lite's user maximum and the commercial restriction come from Contentful's usage terms of 14 August 2026.

On currency

Sanity's pricing FAQ says it charges in US dollars, and any card works if the issuer will convert the charge. Contentful's usage terms set overage at $5 per million API calls in US dollars. Every price on this page is what a buyer in the US sees. Nothing is converted at an exchange rate, because a converted figure is not a price either vendor charges.

Before you sign either

Where the pricing page and the invoice come apart

Not a list of limitations, which every comparison already carries. These are the five places where the published price is not the price you end up paying.

  • Contentful

    Free is not licensed for a live business site

    Contentful's usage limits are dated 14 August 2026. They say the Free plan may only be used to test and learn the product, and may not support commercial use cases. So the working entry price for a company site is Lite at $300 a month, not $0. Treating the free tier as a launch plan risks suspension under Contentful's own terms.

  • Contentful

    The $300 plan adds people, not room for content

    Lite includes one Starter space, which carries the same 25 content types, 2 environments and 10,000 records as the Free plan. The upgrade buys users, roles, one more locale, API volume and support. More room for content is the Lite Space at $850 a month, which takes the bill to $1,150. Lite allows only one of them.

  • Contentful

    Twenty users and three locales are ceilings, not starting points

    Contentful's usage terms cap Lite at 20 users and list extra users as not available. The pricing page caps Lite at 3 locales. Neither limit has an add-on. The next step for either is Enterprise, which publishes no price. A team that expects to pass either number is pricing an enterprise contract from the first day.

  • Sanity

    Sanity's document quota is a wall, and drafts count against it

    Sanity meters requests, assets and bandwidth on Growth, but not documents. At 25,000, counted across every dataset and including drafts, editors cannot create anything new, not even a draft. The fix is the $299 monthly quota add-on, a flat step rather than a rate. A staging dataset that mirrors production counts twice, which halves the room you thought you had.

  • Both

    Single sign-on turns either plan into a quote

    Neither vendor sells SSO on a self-serve plan. Sanity lists SAML single sign-on on Enterprise only, and Contentful's plan table ticks SSO for Enterprise alone. If your security team requires it, the $15 seat and the $300 plan both stop mattering. The real comparison becomes two sales conversations with no published numbers on either side.

Plan limits

Where each self-serve plan runs out

Both vendors publish a free plan, one paid plan and a quote. The useful question is not which paid plan is cheaper. It is which of your requirements pushes you past the paid plan, because after that point neither vendor publishes a number.

On Contentful the list is short and close. The twenty-first user, the fourth locale, a third space, SSO, EU data residency, custom roles and an uptime SLA all sit on Enterprise. Workflows exist on Lite only inside the $850 Lite Space.

On Sanity the list starts further out. Growth runs to 50 seats and charges nothing for locales. Extra datasets cost $999 a month each, the price of 66 seats. SSO, custom roles, content releases, the audit log, an uptime SLA, invoicing and annual payment all need Enterprise.

That is why a Sanity vs Contentful comparison built on feature ticks misleads. Most of the ticks are shared. The difference is how many ordinary growth steps each plan absorbs before it asks for a sales call. Hiring an editor is one. Adding a market is another.

The test to run

Write down your editor count and your language count for eighteen months from now. If either passes twenty users or three languages, you are comparing Sanity Growth with a Contentful quote, not with Lite.

Usage metering

How each one counts a request

Both vendors meter delivery, and they meter different things. The definitions are worth ten minutes before you model traffic, because the same site can look cheap on one and expensive on the other.

Sanity counts every HTTP request to its API CDN hostname and, separately, every request to its uncached API hostname. OPTIONS requests, failed requests and traffic from Sanity's own Studio and Dashboard are not billed. Requests made from inside a Sanity Function count like any other.

Contentful counts calls to its Delivery, Preview and Management APIs together, against one monthly allowance. Its usage terms say cached CDN responses generate no additional calls, so a high cache hit rate works as a direct discount.

The overage shapes differ too. Sanity bills $1 per 250,000 CDN requests and $1 per 25,000 uncached ones, so an uncached request costs ten times as much. Contentful bills $5 per started million, and its terms say it sets no cap on extra calls.

What happens at the limit differs most on the free plans. Sanity emails administrators at 80% and 100% of quota, and a Free project then stops serving content until someone upgrades or the month resets at midnight UTC. A Growth project keeps serving content past its request quota, and the excess is simply invoiced. Contentful's Free plan uses hard caps in the same spirit.

Before you model traffic

Find out what share of your requests will be cache hits. On Contentful a hit costs nothing. On Sanity every CDN request counts, and an uncached one costs ten times as much.

Content model

Schema in a pull request, or schema in the platform

Sanity keeps the content model in your repository. Schema types are code inside the Studio configuration, usually TypeScript, so a change is reviewed and deployed like any other code. Nobody adds a field from a settings screen.

The cost of that design is stated in Sanity's own documentation, updated 6 August 2026. The Content Lake is schemaless, and validation rules run only in Studio. Writes through the HTTP API, the client library, migrations or imports are accepted without any check.

So every script, integration or agent that writes content has to validate for itself. Sanity's CLI can check a whole dataset against the schema after the fact, which makes a sensible last step for any bulk import.

Contentful keeps the model in the platform. Admins edit content types in the web app. Teams that want the model in git write migration scripts for the Contentful CLI instead. Either way, the model is a server-side object the API knows about.

That has a practical consequence. Since 14 November 2024, Contentful's Management API refuses to publish an entry with an empty required field, even when the field is hidden. Environments and an environment alias come with every plan, so a model change can be tested on a copy first.

The question that decides it

Who should be able to change the model? If the answer is a developer, through code review, Sanity's design fits. If an admin must be able to add a field this afternoon, Contentful's does.

Localisation

Languages are a plan limit on one and a data shape on the other

Contentful treats a locale as a platform setting and counts it. Free allows two and Lite three, with no add-on for a fourth. Its plan table puts localised workflows and previewing by locale on Enterprise as well.

Sanity does not charge for locales at all. Its pricing FAQ says you can create as many as you like. The limit is unique attributes per dataset: 2,000 on Free and 10,000 on Growth.

That limit is where the real constraint hides. Sanity stores a translation as data inside a document. Its localisation guide shows that one object key per language adds a new attribute for every language. Arrays of language and value pairs avoid that, which is why its recommended plugin uses them.

Sanity also leaves the pattern to you. Field-level translation keeps every language in one document, so they publish together. Document-level translation gives each language its own document and its own publish button, joined by references.

The trade is plain. Contentful gives you localisation that works the day you enable it, then caps it. Sanity gives you as many languages as your attribute budget allows. In return, a developer has to choose the pattern, the plugin and the fallback query.

Four languages

Five editors in four languages costs $75 a month on Sanity Growth. On Contentful it is past Lite's limit, so it is an Enterprise quote with no published price.

Editor experience

What editors get before anyone signs a contract

Sanity's Free plan already includes real-time collaborative editing, presence, live preview, visual editing and the Presentation tool for page building. Growth adds comments, tasks and scheduled drafts, and keeps draft history for 90 days instead of 3.

The catch is that Studio is a React application your team owns. It can be customised almost without limit, and somebody has to maintain it, upgrade it and fix it when a plugin breaks. Sanity will host a deployed Studio for free, but it does not maintain your code.

Contentful's plan table ticks live preview, the rich text editor, versioning, bulk editing, comments on entries and the tasks app on every plan. Lite adds comments on fields, presence indicators and the Launch app for releases.

The visual page builder is a different story. Contentful Studio, its drag-and-drop canvas, is sold only with Enterprise plans, and so are Timeline and localised workflows. Workflows on Lite exist only inside the $850 Lite Space.

One inconsistency is worth checking in a trial. Contentful's plan table ticks scheduled publishing and the tasks app on Free, while the Lite card lists both as things Lite adds. I would not plan around either reading until you have seen the Free editor yourself.

When the Sanity trial ends

Every new Sanity project starts on a Growth trial. If nobody adds a card before it ends, the project drops to Free, private datasets become public and non-admin members become viewers.

Ownership

What changed at Contentful on 1 September

Salesforce announced its agreement to buy Contentful on 1 June 2026. It completed the deal on 1 September 2026, according to the editor's note on Salesforce's own announcement. Contentful's pricing page now carries a banner saying it is officially part of Salesforce.

Salesforce says Contentful will be integrated natively across Customer 360 while preserving the composability developers expect. Co-founder Sascha Konietzke wrote on the same day that customers "remain our top priority". He committed to "the same level of innovation, flexibility, and enterprise-grade support".

Neither post says anything about pricing, contract terms or how long the self-serve plans will run. That is not evidence of a change. It is a reason to get renewal and price-protection terms in writing before signing a multi-year contract this year.

I found no comparable ownership event at Sanity to disclose. The practical advice is the same for both vendors. Keep content access behind a thin layer of your own code, because the query language and the SDK cost most to replace.

The decision

Pick each one when

Sanity

  • Fewer than twenty people edit, and more of them only need to read.
  • You need a fourth language without signing an enterprise contract.
  • A developer will own the content model and wants it reviewed in pull requests.

Contentful

  • Procurement wants SSO, EU data residency and an SLA, so a quote was coming anyway.
  • Most of your traffic hits the API uncached, where $5 a million beats $40.
  • An admin must be able to change the content model without a code deploy.
In practice

How this plays out once it is running

Most teams reach the Contentful vs Sanity decision after trying both free tiers, so start with the question those tiers hide. Is this a commercial site? If so, Contentful's real entry price is $300 a month. Sanity's is $0 for a team happy to make every editor an administrator.

Then count people, in two groups. Sanity charges only for people who edit, because the Viewer role takes no seat. Contentful caps Lite at twenty users and names no role outside that count. On its published terms, reviewers, legal and the marketing lead all take places.

Then count languages. A third market is fine on Lite. A fourth is an Enterprise conversation on Contentful and a modelling decision on Sanity, and those two have very different lead times.

Then look at traffic, which is where Contentful's pricing is kinder. Its overage is $5 a million, cached CDN hits are not counted, and extra bandwidth is $0.15 a GB against Sanity's $0.30. Sanity charges $40 a million for uncached requests past 250,000. At 2 million uncached requests a month, Contentful is cheaper from sixteen editors upward.

The pattern I would guard against is a team choosing on the editor demo and meeting the ceilings a year later. Sanity vs Contentful is settled faster with three numbers for next year: editors, languages and uncached requests. Price both plans against those.

The counter-case is real. If the organisation needs SSO, EU data residency, custom roles and a signed SLA, both vendors send you to sales. Contentful's governance tooling and partner network are what that money buys. There, choosing Sanity or Contentful stops being a question the published prices on this page can answer.

The honest part

What neither Sanity nor Contentful does

  • Neither one tells you what to publish. Both store and deliver whatever you model. Neither will say which twenty pages deserve to exist, and that is the decision that actually moves results.
  • Neither sells single sign-on, custom roles or an uptime SLA on a self-serve plan. The moment a security review asks for any of them, both published price lists stop applying.
  • Neither prices the cost of leaving. Content exports from both. Queries, rich text renderers and editor customisations are rewrites on either side, and neither vendor puts a number on that work.
  • Neither checks whether content is any good. Sanity's API does not validate writes against the schema. Contentful's enforces field rules, which is not the same as knowing a page is accurate, current or worth reading.
  • Neither replaces the person who owns the model. A clean schema decays when nobody decides what each new content type is for. That is as true at $15 a seat as at $300 a month.

FAQ

Frequently asked

  • Can I run a commercial website on Contentful's Free plan?
    Not under Contentful's own terms. Its usage limits, dated 14 August 2026, say the Free plan may only be used to test and learn the product. They add that it may not support commercial use cases. The first plan licensed for a live business site is Lite at $300 a month. I found no equivalent restriction in Sanity's terms.
  • At what team size does Sanity Growth cost the same as Contentful Lite?
    At twenty editors. Sanity Growth is $15 a seat a month, so twenty seats cost $300, which is Contentful Lite's flat price. Below twenty, Sanity is cheaper. Above twenty, Lite is no longer available, because it allows twenty users at most. The comparison then becomes Sanity Growth against a Contentful Enterprise quote.
  • Is Sanity cheaper than Contentful for a small team?
    For almost any team under twenty editors, yes. Five editors cost $75 a month on Sanity Growth against $300 on Contentful Lite. Sanity pricing vs Contentful pricing only reverses for heavy uncached traffic. Past the allowances, Sanity charges $40 per million uncached requests and Contentful $5. At 2 million uncached requests a month, Contentful is cheaper from sixteen editors.
  • Do read-only reviewers count as users on Sanity and Contentful?
    Not on Sanity. Its pricing page says users with the Viewer role do not consume seats and are always free, on every plan. Contentful's pricing page and usage terms name no equivalent exemption, and Lite allows twenty users in total. For a team with many reviewers, that difference can decide the plan before any feature does.
  • How many languages can I publish in on Contentful Lite?
    Three. Contentful's Free plan allows two locales and Lite allows three, and neither has an add-on for more. A fourth language means Enterprise, which has no published price. Sanity does not charge for locales, within a limit of 10,000 unique attributes per dataset on Growth.
  • Which of Sanity and Contentful validates content written through the API?
    Contentful, partly. Since 14 November 2024 its Management API refuses to publish an entry with an empty required field. Sanity's documentation says validation rules run only in Studio, and the Content Lake accepts API writes, migrations and imports without checking them. Its CLI can validate a whole dataset afterwards, which is worth running after any bulk import.
  • What does Contentful's $300 Lite plan leave out?
    Room for more content, for a start. Lite's included Starter space holds 25 content types, 2 environments and 10,000 records, the same as Free. More room is an $850 Lite Space. Lite also excludes SSO, EU data residency, custom roles, localised workflows, Contentful Studio and an uptime SLA, all of which sit on Enterprise.
  • Can I pay annually for Sanity Growth or Contentful Lite?
    Not for Sanity Growth. Sanity's pricing FAQ says self-serve plans are paid monthly only, with no minimum term, and annual payment and invoicing need Enterprise. Contentful's billing FAQ says Free and Lite are paid by card and invoiced each month, and it describes no annual option for Lite.
  • What happens when Sanity's Free plan runs out of requests, compared with Contentful's?
    On Sanity, requests stop. Its documentation says API and CDN requests fail with HTTP 402 once a Free project uses its monthly quota. The site then stops loading content until the month resets or someone upgrades. Studio keeps working. Contentful's Free plan also stops at its caps rather than billing overage.
  • Did Contentful's prices move after Salesforce bought it?
    Nothing on the pricing page says so. The deal completed on 1 September 2026. The US page read on 17 September still shows Free at $0 and Lite at $300 a month. Neither Salesforce's announcement nor the Contentful co-founder's post mentions pricing or contract terms, so get renewal terms in writing before a long commitment.