Skip to content
Now accepting Q2 projects — limited slots available. Get started →
CMS · Updated Apr 30, 2026

What is Sanity Studio?

Sanity Studio is an open-source, React-based CMS editing interface for the Sanity content platform.

What is Sanity Studio?

Sanity Studio is an open-source React app that runs in the browser and gives you the editing interface for Sanity's Content Lake. It's been around since 2017. The current version (v3, shipped December 2022) runs on Vite and you can customize pretty much everything with standard React components. Your content schemas live in TypeScript files next to your application code, which means they're version-controlled and you can treat them like any other code. You can embed the Studio as a route in Next.js or Astro, deploy it standalone, or let Sanity host it. We've shipped it embedded in 50+ client sites running Next.js App Router. It's our default editing layer for content-heavy marketing sites.

How it works

Sanity Studio talks to Sanity's Content Lake—a hosted document store you query over HTTPS with GROQ or GraphQL. Here's the flow:

  1. Schema definition: You define document types in code using Sanity's schema API.
  2. Studio rendering: The Studio reads those schemas at build time and auto-generates the editing UI—forms, lists, rich text editors, image uploaders.
  3. Real-time sync: Edits sync to the Content Lake over WebSocket. Multiple editors see changes simultaneously.
  4. Content delivery: Your frontend (Next.js, Astro, whatever) queries the Content Lake via GROQ or GraphQL.

A minimal schema looks like this:

// sanity/schemas/post.ts
import { defineType, defineField } from 'sanity'

export const post = defineType({
  name: 'post',
  title: 'Blog Post',
  type: 'document',
  fields: [
    defineField({ name: 'title', type: 'string' }),
    defineField({ name: 'slug', type: 'slug', options: { source: 'title' } }),
    defineField({ name: 'body', type: 'array', of: [{ type: 'block' }] }),
  ],
})

Because the Studio is just React, you can build custom input components, add dashboard widgets, create approval workflows with document actions, or pull in third-party plugins. The v3 plugin architecture uses regular React hooks and component composition. No proprietary framework.

When to use it

Sanity Studio works best when you need an editing experience that goes beyond generic CMS defaults.

Use it when:

  • You need structured content models with references, nested objects, conditional fields
  • Editors need real-time collaboration (Google Docs-style concurrent editing)
  • You want to embed the CMS directly into Next.js or Astro as a /studio route
  • You're building headless and need a powerful query language (GROQ handles complex queries cleanly)
  • Your team knows React and wants full control over the editing UI

Skip it when:

  • You need a simple blog and don't want schema-as-code—WordPress or markdown files will be faster
  • Your client team needs zero-config setup without developer involvement
  • Budget is extremely tight—Sanity's free tier gives you 200K API requests/month, but heavy usage gets expensive fast on Growth and Enterprise plans

Sanity Studio vs alternatives

Feature Sanity Studio Strapi Contentful Payload CMS
Hosting model Hosted Content Lake + self-hosted Studio Fully self-hosted (or Strapi Cloud) Fully hosted SaaS Self-hosted (or Payload Cloud)
UI customization Full React component override Plugin-based, admin panel extensions Limited (web app only) Full React/Next.js integration
Real-time collaboration Yes, built-in No Limited (entry locking) No
Query language GROQ + GraphQL REST + GraphQL REST + GraphQL Local MongoDB/Postgres queries
Open source Studio is open source, Content Lake is proprietary Fully open source (v4+) Proprietary Fully open source
Pricing risk Can spike with API CDN usage Predictable (self-hosted) High at scale Predictable (self-hosted)

Payload CMS v3 is the closest competitor worth evaluating. It's fully open source, runs on your own database, and has deep Next.js integration. The trade-off: you own the infrastructure.

Real-world example

On a recent e-commerce marketing site built with Next.js 14 App Router and Sanity Studio v3, we embedded the Studio at /studio as a Next.js route. The content team managed 12 document types—products, landing pages, blog posts, author profiles, FAQ entries—with cross-references between them. We built custom input components for SEO metadata previews and a color picker tied to brand tokens. GROQ queries powered ISR pages with revalidateTag, so editors saw published changes on the live site within 3-5 seconds. The Content Lake's CDN API averaged 45ms response times globally. The entire CMS setup, including custom components and schema definitions, was about 1,200 lines of TypeScript. No separate admin backend to maintain.

Frequently asked questions about Sanity Studio

Is Sanity Studio the same as Sanity CMS?
Not exactly. Sanity CMS refers to the entire platform — the hosted Content Lake (document store and API), the GROQ query language, and the Studio. Sanity Studio is specifically the open-source React editing interface that connects to the Content Lake. You could technically build your own editing UI using Sanity's APIs and skip the Studio entirely, though very few teams do. When people say 'Sanity,' they usually mean the full platform. When we talk about customizing the editing experience, we're talking about Sanity Studio specifically.
When did Sanity Studio v3 become the standard?
Sanity Studio v3 was released in December 2022 after an extended developer preview period that started in late 2021. It became the default for new projects immediately. Sanity officially ended v2 support in late 2023, nudging all existing projects to migrate. v3 was a ground-up rewrite — it moved from a proprietary build system to Vite, adopted a composable plugin architecture, and introduced the `defineType`/`defineField` API for type-safe schema definitions. As of April 2026, all active Sanity projects should be on v3.
What's the alternative to Sanity Studio?
The closest alternatives depend on what you value. Payload CMS v3 is our top pick if you want full open-source ownership with deep Next.js integration and your own database. Strapi v5 is solid for teams that want a self-hosted, REST/GraphQL-first CMS with a visual schema builder. Contentful is the legacy enterprise option — powerful content modeling but limited UI customization and expensive at scale. For simpler sites, Keystatic or even markdown-in-Git with Decap CMS can work fine without any external service dependency.
Can you embed Sanity Studio inside a Next.js app?
Yes, and it's the pattern we use most often. Sanity provides a `next-sanity` package that lets you mount the Studio as a catch-all route — typically at `/studio` — inside a Next.js App Router project. The Studio runs client-side only, so it doesn't affect your server rendering or bundle size for public pages. You configure it with a `sanity.config.ts` at your project root and a dynamic route file like `app/studio/[[...tool]]/page.tsx`. This means one deployment, one repo, and one domain for both your site and your CMS. Authentication is handled by Sanity's hosted auth or your own custom provider.
Get in touch

Let's build
something together.

Whether it's a migration, a new build, or an SEO challenge — the Social Animal team would love to hear from you.

Get in touch →