Discover / Marketing

Sanity Studio CMS

by sanity-ioTypeScript

Sanity Studio real-time collaborative headless content management system.

Toolstable

Maturity: stable because 10y old, v6.8.0 released 4d ago. Derived from release and commit history, not a rating.

Stars
6.3k
Forks
545
Downloads / mo
Last commit
2026-08-03
License
MIT
Open issues
148

Market and trust evidence

Edition not yet matched

No exact skills.sh identity match is available for this repository. Repository adoption and freshness remain visible above; install momentum is not inferred.

Trust analysis is a screening signal, not a security warranty. Read the ranking and trust methodology.

In practice

Written by AI from this repository’s README · high confidence

Building a tailored editing interface for structured content otherwise means writing the admin application yourself.

Use it when

When you want a customizable React based editing studio plus a hosted real time content store.

Not the right pick when

Content lives in the hosted Content Lake with pay as you go overages, so it is not a self contained self hosted CMS.

Capabilities

  • Studio customizable with JavaScript and React
  • Plug in architecture and custom components
  • Advanced block editor for structured content
  • GROQ and GraphQL query APIs
  • Image uploads with on demand transforms and metadata
  • Theming with your own branding

Requirements

  • A Sanity account, starting on the free plan with pay as you go overages

Cost: Open source with a paid cloud option

Video walkthroughs

Third-party YouTube uploads matched to this tool by title, channel and repository name on 2026-08-03. Not made, reviewed or endorsed by SkillPilot. View counts and publish months are as of the match date and the month is approximate. Nothing loads from YouTube until you press play.

What the repository ships

Ships CLAUDE.mdCursor rulesHas docsHas examplesCI configured

Detected from the actual files in the repository root.

Latest release v6.8.0

Published 2026-07-30

Sanity Studio v6.8.0

This release includes various improvements and bug fixes.

For the complete changelog with all details, please visit:

www.sanity.io/changelog/studio-Ni43LjA

Install or upgrade Sanity Studio

To upgrade to this version, run:


npm install sanity@latest

To initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.

📓 Full changelog

Author | Message | Commit

------------ | ------------- | -------------

@pedrobonamin | fix(core): enable clear button when perspective is the non default one (#13819) | 1938e375862ad99379958736e8c7b2b2139b8ee7

@pedrobonamin | fix(core): copy to drafts using transaction, prepare for variants (#13815) | f283b1e58518888d9f6afbf095666784a4e1dfd9

@pedrobonamin | chore(structure): useCopyToDrafts changes (#13806) | e65a38aa6311fa1a95dd67009a6992fdd0aed6bc

squiggler-app[bot] | chore(deps): update dependency @sanity/workbench to v0.1.0-alpha.36 (#13808) | ebc1904292c45d3b15b3fb9dd075d4308705596d

squiggler-app[bot] | fix(deps): update dependency @sanity/cli to ^7.15.1 (#13813) | f57fff2ad2680e0c523d33bb543ffdc4dc5b12cd

squiggler-app[bot] | chore(deps): update dependency @sentry/react to ^10.68.0 (#13812) | 391db9438a9740aa5108717d0189dd2a139ea40d

squiggler-app[bot] | chore(deps): update dependency turbo to ^2.10.7 (#13809) | b341cd173f79a607904957a1580e4c6d8bdbaa12

squiggler-app[bot] | fix(deps): update dev-non-major (#13810) | bd9cee7083d7233954d93f72a54ad58afe264fe5

squiggler-app[bot] | chore(deps): update dependency @sanity/ailf to ^7.33.0 (#13811) | 4c7209502f827613b8e4c4d534fdd0cd820544b1

squiggler-app[bot] | chore(deps): update dependency @sanity/vanilla-extract-vite-plugin to ^0.2.8 (#13807) | 733f6186e1a0d02569be09b0f0ebbc439a59a4a6

@stipsan | chore(oxlint): allow side-effect css imports without suppressions (#13796) | ef50a8f2499f6770fb34983eff6723f521e218c9

@stipsan | fix(releases): throttle published archived history batches (#13805) | afb3074b035efe4297aa1e9b7ac48cbc9fa82ea9

@stipsan | chore(deps): upgrade to typescript 7 (#13759) | fe0cd997dd0e489371d05b2c90738e6e8f668418

@stipsan | fix(deps): bump react-rx to 4.2.5 (#13797) | d820ba12450f8872aec5aebc690cc1ac44010035

@juice49 | fix(sanity): virtualised item dimensions in hidden CommandList (#13792) | 20525238d6599f5d956535c5a80df2cf37d8a23c

squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#13766) | 015f924830a17aba21042e54f4b03f0f2e4de586

squiggler-app[bot] | chore(tests): generate dts tests 🤖 ✨ (#13801) | 6ab5f7d655d2015e9eb75713e385c7e8231f844d

@colepeters | feat(sanity): install ui-poc for Studio, migrate 2 Boxes (#13776) | e157f63fb2cc7b38436cbdf1f029c539bd30559d

@jordanl17 | chore(codeowners): assign presentation tool to studio team (#13769) | cad24eaf6156758b7bbce26848445b48a23a54b4

@pedrobonamin | fix(structure): allow creating variant documents with no base doc (#13789) | d1db5e9f026334d43ee6e7cd8b63886565534b33

squiggler-app[bot] | fix(deps): update dependency @sanity/cli to ^7.14.0 (#13777) | 8cb42add66968eacd0c3bc4ccabcdcee0097cc4a

@jordanl17 | docs(telemetry): define standard location, position and path property value sets (#13770) | 258e6b00ca713f9fb338fe061d395e8a6bfa6271

@juice49 | chore(sanity): move Delay component to core (#13690) | da8f541d744e6307ab972cbb63f504c23b23e193

@juice49 | chore(sanity): return SingleActionResult from createVariantDocument (#13690) | aec0ddf1c872cb3b3623df77e056c2d3cb94575c

@juice49 | refactor(sanity): expand createVariantScopedDocument to explicitly handle baseId or document source (#13690) | 633dbd1517fd0da5c7f18a7bcfb7a6e6cb8d3392

@juice49 | chore(sanity): variant creation in document group inventory (#13690) | c15ea83babf67ca9bc01d25eb2c39aeb01ecb9b3

@jordanl17 | fix(test-config): pin locale to en-US for deterministic test runs (#13779) | 8dc3d96f8e853a9

Tags

README

<div align="center">

<a href="https://sanity.io">

<img src="https://cdn.sanity.io/images/3do82whm/next/d6cf401d52c33b7a5a354a14ab7de94dea2f0c02-192x192.svg" />

</a>

<h1 align="center">Sanity</h1>

<h4 align="center">

<a href="https://www.sanity.io/get-started?ref=gh">Get Started</a> |

<a href="https://www.sanity.io/docs">Docs</a> |

<a href="https://www.sanity.io">Website</a>

</h4>

</div>

<div align="center">

<img alt="" src="https://img.shields.io/npm/v/sanity/latest?style=flat">

<img alt="" src="https://img.shields.io/npm/v/sanity/next?style=flat">

<img alt="" src="https://img.shields.io/npm/v/sanity/stable?style=flat">

<br />

<img alt="" src="https://img.shields.io/npm/dm/@sanity/client?style=flat">

<img alt="" src="https://img.shields.io/npm/l/sanity.svg?style=flat">

<a aria-label="Join the Sanity community" href="https://www.sanity.io/community/join?utm_source=readme">

<img alt="" src="https://img.shields.io/discord/1304483263171264613?label=Discord"></a>

<a aria-label="Follow Sanity on Bluesky" href="https://bsky.app/profile/sanity.io">

<img alt="" src="https://img.shields.io/badge/follow-@sanity.io-blue?logo=bluesky"></a>

</div>

Build powerful production-ready content workspaces

The Sanity Composable Content Cloud lets teams create remarkable digital experiences at scale. Sanity Studio is an open-source, single-page application that is fast to set up and quick to configure. The Studio comes with a complete studio customization framework that lets you tailor the workspace as your needs grow.

Sanity hosts your content in a real-time, hosted data store called Content Lake. Get started with the free plan with generous bandwidth and hosting included and pay-as-you-go for overages.

Quickstart

Initiate a new project by running the following command:


npm create sanity@latest

# With other package managers:
yarn create sanity@latest
pnpm create sanity@latest

Go here for a step-by-step guide on how to get up and running.

Check out the docs and plugins and start building.

Key Features

Sanity Studio

Sanity Studio

Sanity Studio is an open-source real-time CMS, that you can customize with JavaScript and React.

Developer experience

Structured Content

Stay up to date

Code of Conduct

We aim to be an inclusive, welcoming community for everyone. To make that explicit, we have a code of conduct that applies to communication around the project.

Want to contribute?

Found a bug, or want to contribute code? Pull requests and issues are most welcome. Read our contributing guidelines to learn how.

Help Improve Sanity Studio translations

We're always looking to make Sanity Studio more accessible and user-friendly, and your contributions can make a big difference. Whether you're a seasoned developer or just starting out, helping with translations is a fantastic way to get involved.

If you're fluent in a language other than English, we'd love your help in reviewing and improving translations. Your expertise can greatly enhance the experience for users worldwide.

How to Contribute:

  1. Visit our sanity-io/locales repository and try out a locale you are fluent in.
  2. Have ideas for improvements? Submit a PR following the contributing guide.
  3. See if there are open PRs in languages you are fluent in and help review them.

Interested in playing a bigger role? You can ask to be added as a maintainer to oversee translations for specific languages, where you will be automatically added as a reviewer on PRs that involve your language. See the sanity-io/locales README for more.

Your contributions not only improve Sanity Studio but also bring together a diverse and global community of users. We appreciate every effort, big or small, and we can't wait to see what you bring to the table!

License

Sanity Studio is available under the _MIT License_

Related tools