# CMS Brew vs Sanity, compared honestly.

> Sanity is a structured content platform built for content teams. CMS Brew is an editing layer for the sites you hand to clients: the content stays in your repository, and the client changes it by chat instead of learning a Studio.

## Short answer

Choose Sanity if the content is the product: many entries, structured relationships, localization, several channels, and a team that edits often enough to grow fluent in the Studio. Choose CMS Brew if you build sites in code and hand them to clients who edit a few times a year: they describe the change in chat instead of learning a Studio, per-field guards hold the risky edits for your review instead of a role you buy per seat, and the content never leaves your repository.

## Why developers go looking for a Sanity alternative

Sanity is the most recommended headless CMS in the framework world, and it earns that: structured content, real-time collaboration, and a Studio you can shape into almost anything. None of that is in dispute here. The friction shows up in one specific situation, the site you finish and hand over. You model every field in a schema you write and redeploy, the client opens a Studio they use four times a year, and content that used to sit beside your components now lives in a hosted database your pages fetch from.

The permissions story is what surprises people. On the free plan there are two roles, Administrator and Viewer, so your client is either a full administrator or read-only. Editor and Contributor start on the Growth plan at $15 per occupied seat each month, per project. And on any tier, an editor who can publish just publishes: an approval step is something you build yourself with custom document actions, or bolt on with a community workflow plugin.

- **A Studio is still a Studio:** Documents, fields, references, and Portable Text are a good interface, and still an interface. A client who edits twice a year forgets it between visits. In CMS Brew they type what they want changed and watch it in a live preview.
- **Nothing waits for you by default:** Sanity has no approve-before-publish gate out of the box; the closest thing is a workflow you build with custom document actions. In CMS Brew every field category carries a guard level, and anything you set to Review reaches you before it reaches the site.
- **The content moves out of the repo:** Going headless means a schema, a Studio deploy, GROQ queries, and a migration of the content itself into the Content Lake. For a catalog that pays for itself. For a 20-page client site, it is machinery around a phone number that changes once a year.

## CMS Brew vs Sanity, side by side

| | CMS Brew | Sanity |
| --- | --- | --- |
| What the client sees | A chat. They describe the change in plain words and watch a live preview. | Sanity Studio: documents, fields, references, and Portable Text to learn. |
| Where content lives | In your repository, in the files your site already builds from. | In Sanity's hosted Content Lake, fetched by your site over the API. |
| Setup per site | Connect the GitHub or GitLab repository. Content is mapped automatically. | Write the schema, deploy the Studio, and rewrite pages to query with GROQ. |
| Client sign-in and roles | Built in: Google or an emailed 6-digit code. Editors cost nothing. | Free has two roles, Administrator or Viewer. Editor and Contributor start at $15 per seat. |
| Review before publish | Per-field guard levels: Open, Warn, Review, Locked. Included. | No gate out of the box. You build one with custom document actions or a plugin. |
| Out-of-scope requests | Refused in the editor and escalated to you with the client's original words. | Not a concept. The request reaches you as an email or a phone call. |
| Publishing | One commit to your repository, one-click revert. | A write to the Content Lake, live as soon as your site revalidates. |
| Price | $39/mo for 5 sites, unlimited editors, 7-day free trial. | Free tier on fixed quotas; Growth is $15 per occupied seat per month, per project. |

## Where the other option wins

Where Sanity wins: for structured content at scale it is not close. Thousands of entries, localization, content shared across a site and an app and a newsletter, real-time collaboration, a Presentation tool that puts click-to-edit overlays on a live preview, and a free tier generous enough to run real projects on. CMS Brew does none of that. It edits the content of pages that already exist in a repository, for a client who edits a few times a year and should not have to learn anything to do it.

- The content is the product: many entries, structured relationships, or a catalog the site is built around.
- The same content feeds more than the website, like an app, a newsletter, or in-store screens.
- Someone edits every week, so the Studio becomes familiar instead of forgotten.
- Your clients need to create new documents and entries themselves. CMS Brew edits existing pages and escalates the rest to you.
- You have already built the schema, the fetch layer, and a Presentation setup, and they are earning their keep.

## How to move a client site from Sanity to CMS Brew

1. **Export the dataset** This is the one honest cost, and the one comparison on this site where content really does have to move. The sanity dataset export command gives you the documents as NDJSON plus the assets. Worth doing for a brochure site with dozens of pages; not worth doing for a catalog with thousands of entries, which is the case where Sanity is simply the better tool.
2. **Bring the content back into the repo** Convert Portable Text to Markdown, or to whatever shape your components already read, and commit the images alongside it. Then delete the GROQ queries and the client. The site gets smaller, and it builds without calling an API.
3. **Connect the repository and set your guards** CMS Brew maps the editable text and images automatically, with no schema to write. Review the mapped fields and set a guard level per category: Open publishes freely, Warn asks the client to confirm, Review holds the change for you. Structural and code fields are locked from the start.
4. **Invite the client, then retire the Studio** They sign in with Google or an emailed 6-digit code, with no seat to buy and no role to pick, and their first edit is a message rather than a training session. Once the handover has settled, take the Studio deployment down.

## FAQ

### Is Sanity too hard for clients?

Not by accident. Sanity is built for content teams, and with enough developer time the Studio can be tailored down to something a client handles well: custom inputs, conditional fields, focused document views. The question is whether that investment pays back for a client who edits four times a year. Left near its defaults, a Studio is a document editor with fields, references, and Portable Text, and infrequent editors relearn it every visit.

### Do I have to migrate my content out of Sanity?

If you are moving an existing Sanity site, yes, and that is the honest difference from the other comparisons on this site. Content lives in Sanity's Content Lake, so it has to come back into the repository: export the dataset to NDJSON, convert Portable Text to Markdown or your components' own shape, and commit the assets. For a brochure site that is an afternoon. For a new build, there is nothing to migrate, because the content never leaves the repo in the first place.

### Can my clients edit without paying for a Sanity seat?

Only as an Administrator. Sanity's free plan includes 20 seats but exposes two roles, Administrator and Viewer, so a client is either fully privileged or read-only. The Editor and Contributor roles begin on the Growth plan at $15 per occupied seat per month, charged per project, and every role except Viewer takes a seat. In CMS Brew editors are unlimited and cost nothing extra, because pricing is per connected site.

### Does Sanity have an approval step before publishing?

Not built in. An editor with publish rights publishes. Sanity gives you the pieces to build a gate, custom document actions that override the publish button, and there are community workflow plugins with states like In review and Approved, but it is a thing you build and maintain per project. In CMS Brew review is the product: every field category has a guard level, and anything marked Review reaches you before it reaches the live site.

### Can CMS Brew replace a headless CMS?

For the delivered client site, usually yes. For structured content at scale, no, and we would rather say so. CMS Brew has no schema, no query language, no API for other applications to read from, and no way for a client to create new documents. It edits the text and images of pages that already exist in your repository, and routes everything else back to you.

### Which frameworks does CMS Brew work with?

Next.js, Vue, SvelteKit, Astro, Nuxt, Remix, Gatsby, and Hugo, with previews on Vercel, Netlify, and Cloudflare. Every publish is a normal commit, so any host that rebuilds from Git works.

---

- [Home](https://cmsbrew.com/)
- [Features](https://cmsbrew.com/features)
- [Full product details](https://cmsbrew.com/llms-full.txt)
