Word & Press · 24 publishing platforms profiled Updated 10 October 2026

Compare

Sanity vs Contentful for publishers: two hosted headless platforms

Sanity and Contentful are both hosted headless platforms. What the docs show on drafts, preview, pricing and front-end work, and what we could not read.

By Word & Press Published 10 October 2026 Facts verified 10 October 2026 Read 4 min

The short answer

Both are hosted, API-first platforms that need a developer-built front end. Sanity has more we could verify: published pricing, an MIT Studio, GROQ and a documented draft model. Contentful's pricing and roles pages returned errors when we tried, so we cannot compare cost or workflow. Get a Contentful quote before shortlisting.

SANITY VS CONTENTFUL

The short version

Pick Sanity if you want a hosted content store with a documented draft and version model, an MIT-licensed Studio you configure in code, and published prices you can check. Pick Contentful if your team already prefers its API split, with separate Delivery and Preview hosts, and you are prepared to get a quote directly.

This page is lopsided on purpose. Contentful’s documentation and pricing pages returned HTTP 429 errors on 10 October 2026, and a retry the same day failed again for the pricing page, the developer documentation home and the locales page. We rest the Contentful side on its public GitHub repositories only. Where we could not read something, we say “Not documented on pages we could open”.

Both are headless, so neither renders your site. See the profiles for Sanity and Contentful. Nothing here comes from an install by us.

At a glance

Feature Sanity Contentful
Licence MIT (Studio repository); hosted Content Lake is a commercial service Hosted service; client libraries on GitHub are MIT
Latest version Studio 6.18.0 (6 October 2026) SaaS; JavaScript SDK contentful.js 11.12.10 (9 September 2026)
Written in Not documented on pages we could open Not documented on pages we could open
Hosting Content hosted by Sanity Contentful-hosted APIs (cdn.contentful.com, preview.contentful.com)
Editorial roles/workflow Admin and Viewer on Free; more roles from Growth; custom roles Enterprise Not documented on pages we could open
SEO & structured data Not documented as built in Not documented as built in
Multilingual Field-level and document-level approaches Library supports localisation; limits not documented on pages we could open
Headless/API GROQ queries, webhooks Delivery, Preview and Management APIs
Typical cost Free $0; Growth $15 per seat per month Not documented on pages we could open
Best for Teams that want a customisable Studio and published pricing Teams that will confirm cost and plan limits with the vendor

Editorial workflow

Sanity’s states are clear. Published documents are what public queries see, drafts hold unpublished edits, and versions hold edits inside a content release. Free includes Admin and Viewer roles. Growth adds Editor, Developer and Contributor roles, comments, task management and scheduled drafts. Content Releases are described as available on certain Enterprise plans.

For Contentful, the roles, workflow and scheduling documentation is Not documented on pages we could open. What the repositories do show is the split between the Delivery API, which returns published content only, and the Preview API, which returns drafts and needs a preview token. If approval stages or scheduled publishing matter, confirm them with Contentful and ask which plan includes them.

What each leaves to the front end

Both leave the site itself to you. For preview, Sanity’s visual editing needs a draft-mode endpoint, stega encoding, an overlay system, Live Content API integration and router integration. Contentful’s Live Preview SDK needs the front end to initialise it with locale configuration, tag elements with data-contentful-entry-id and data-contentful-field-id, subscribe to changes and leave the data structure untransformed.

Sitemaps, structured data, redirects, canonical tags, titles and feeds are also front-end work on both, according to the pages we could read. Contentful’s rich-text packages convert rich text to HTML, React or plain text, which helps templates, but they do not output SEO markup for you.

Search, structured data and feeds

Neither source describes a sitemap generator, structured-data output or redirect manager as a core feature. Model author, dates, image and meta fields as content and render Article or NewsArticle JSON-LD yourself. Sanity documents webhooks that fire on create, update and delete and ignore drafts by default, which suit rebuilds and cache revalidation. For Contentful webhooks, Not documented on pages we could open.

Hosting, performance and security

Both are hosted, so there is no CMS to install. Sanity offers an opt-in API CDN, and image URLs handle resizing, focal-point crops and formats including WebP and AVIF. Contentful serves published content from cdn.contentful.com; its image transformation, caching and rate-limit rules are Not documented on pages we could open. Contentful’s JavaScript libraries are described as including built-in rate limiting with recovery, which suggests limits exist, but we could not read them.

For security and data terms, read each vendor’s contract. We did not review either.

Cost of ownership

Sanity: Free for up to 20 seats, 2 public datasets and 10k documents. Growth is $15 per seat per month with 25k documents and pay-as-you-go overages. Enterprise is custom, with SSO, audit trails and an SLA. Seat-based pricing grows with headcount.

Contentful: Not documented on pages we could open. Do not assume parity with Sanity. Ask about users, locales, content records and API calls, and what happens when you exceed a limit. Add front-end development and hosting to either figure; see the cost guide and licence guide.

Migrating between them

We found no official tool for moving content between Sanity and Contentful in the pages we could read. Contentful publishes a migration tool and a Management API for scripting entries, assets, content types and environments, which helps if you are exporting. Plan a scripted export, remodelled content types, and redirects held at the front end. See the comparison hub for other options.

Which should you choose?

  • You need published prices today: Sanity.
  • A customisable editing interface and expressive queries: Sanity.
  • You prefer separate published and preview API hosts: Contentful, once you have its terms.
  • You must confirm roles, workflow and scheduling before deciding: ask Contentful directly, because we could not.
  • You need to self-host: neither, as far as we could verify.

Related: Strapi vs Sanity, Contentful vs Storyblok and the CMS profiles.

Questions people ask

Is Sanity or Contentful cheaper?

We can only price Sanity: Free at $0, and Growth at $15 per seat per month. Contentful's pricing page returned HTTP 429 errors on 10 October 2026, including on a retry, so we quote nothing. Ask Contentful for current figures on users, locales, records and API calls.

Are Sanity and Contentful open source?

Neither platform is open source as a whole. Sanity's Studio repository and several Contentful client libraries are MIT-licensed, but the content is held on each vendor's hosted service under its own terms.

How does preview differ between Sanity and Contentful?

Contentful uses two APIs, Delivery for published content and Preview for drafts with a preview token. Sanity uses one API with a published or drafts perspective. Both need developers to build the preview route and, for click-to-edit, extra front-end code.

Which has better multilingual support?

We cannot rank them. Sanity documents field-level and document-level localisation. Contentful's JavaScript library can return all locales at once, but we could not read its locale limits or fallback rules.

Can I migrate from Contentful to Sanity?

We found no official migration tool for that direction in the documentation we could read. Contentful has a public migration tool for its own environments. Expect a scripted export, remodelled content types and redirects handled at the front end.

Sources

  1. The sanity-io/sanity repository is licensed under the MIT Licence, held by Sanity.io, covering 2016-2026. — source, checked 10 October 2026.
  2. The latest Sanity Studio release on GitHub is v6.18.0, published 6 October 2026. — source, checked 10 October 2026.
  3. Sanity's pricing page lists a Free plan at $0 (up to 20 seats, 2 public datasets, 10k documents), Growth at $15 per seat per month (25k documents, private or public datasets, pay-as-you-go overages) and Enterprise at custom pricing. — source, checked 10 October 2026.
  4. Per the pricing page, Free includes 2 permission roles (Admin, Viewer); Growth adds Editor, Developer and Contributor roles plus comments, task management and scheduled drafts; Enterprise adds SSO, audit trails, an SLA and custom roles. — source, checked 10 October 2026.
  5. Sanity keeps Published, Draft (one per document, ID prefix drafts.) and Version (inside a content release, ID prefix versions.) states; neither drafts nor versions are served to unauthenticated requests, and queries choose a published or drafts perspective. — source, checked 10 October 2026.
  6. Content Releases lets teams group changes across documents and schedule them (ASAP, At Time, Undecided), and the documentation says the feature is available on certain Enterprise plans. — source, checked 10 October 2026.
  7. Visual editing needs front-end work: a draft-mode preview endpoint, stega encoding in the client, an overlay system, Live Content API integration and router integration for click-to-edit. — source, checked 10 October 2026.
  8. Sanity webhooks fire on create, update and delete, ignore draft and version changes by default, and can trigger rebuilds or cache revalidation. — source, checked 10 October 2026.
  9. Sanity image URLs support resizing, focal-point cropping and format conversion including JPEG, PNG, WebP and AVIF, with auto=format choosing a format by browser. — source, checked 10 October 2026.
  10. Sanity documents two localisation approaches: field-level (one document, many languages, published together) and document-level (one document per language, linked by references, published independently), using plugins such as @sanity/document-internationalization. — source, checked 10 October 2026.
  11. GROQ is Sanity's query language for filtering, joining across references and returning only the fields requested. — source, checked 10 October 2026.
  12. Contentful describes itself on GitHub as 'The Composable Content Platform' with 'API-first technology'; its public repositories include contentful.js (Delivery API library), contentful-management.js (Management API library), a CLI, a migration tool and rich-text libraries. — source, checked 10 October 2026.
  13. The contentful.js library accesses the Content Delivery API, which uses host cdn.contentful.com and returns published content only, and the Content Preview API, which uses host preview.contentful.com, needs a preview access token and returns unpublished drafts. — source, checked 10 October 2026.
  14. The latest contentful.js release on GitHub is v11.12.10, published 9 September 2026; this is the JavaScript SDK version, not a version of the Contentful platform. — source, checked 10 October 2026.
  15. The contentful.js library supports localisation, including a withAllLocales modifier that returns content in all configured locales. — source, checked 10 October 2026.
  16. The Content Management API works with entries, assets, content types, environments (such as staging and production) and spaces, and authenticates with OAuth bearer tokens or API keys. — source, checked 10 October 2026.
  17. The Live Preview SDK (MIT licence) needs the front end to initialise the SDK with locale configuration, add data-contentful-entry-id and data-contentful-field-id attributes with getProps(), subscribe to content changes, and keep the original data structure for live updates to work. — source, checked 10 October 2026.
  18. Contentful's rich-text repository provides MIT-licensed packages that convert rich text documents to HTML, React components or plain text, and markdown to rich text. — source, checked 10 October 2026.