sanity is a free, open source content management systems (cms) project written in TypeScript and released under MIT. It has 6,324 GitHub stars, 553 forks and 221 open issues, and was last pushed 4 hours ago. On this registry it ranks #13 of 47 tracked projects in Content Management Systems (CMS), with 5 head-to-head comparisons available. It gained 3 stars over the last 3 tracked days.

What is sanity?

Sanity Studio is an open-source, MIT-licensed single-page application written in TypeScript that gives developers and content teams a fast-to-configure, real-time workspace for editing structured content, with that content hosted in Sanity's Content Lake.

What it is

Sanity Studio is the open-source editing workspace of the Sanity Composable Content Cloud. It is a single-page application built with React that developers customize with JavaScript, and it ships with a studio customization framework meant to let the workspace grow as needs change. Validations, document organization, and initial values are written in JavaScript rather than configured through a fixed admin panel. The repository topics describe it as a cms, headless, react, and real-time project, and the codebase is TypeScript under the MIT licence.

The project solves the problem of building and maintaining a bespoke editorial interface for structured content. Instead of hand-writing an admin UI for every data model, teams define their content types and let the Studio generate editing UI for complex fields, including an advanced block editor for structured content. Content lives in a single source of truth and is distributed in real time to any frontend through zero-config GROQ queries or a GraphQL API. Rich text is stored as Portable Text, which can be serialized into any markup language, so the same content feeds web, mobile, or other channels without reformatting.

Key capabilities

  • Real-time, responsive editing interface that works on narrow screens, with instant UI for complex fields.
  • Plug-in architecture with custom components, plus theming so the workspace carries a team's own branding.
  • Advanced block editor for structured content, with Portable Text serializing into any markup language.
  • JavaScript-defined field validations, the structure builder for organizing documents, and initial values.
  • Zero-config GROQ plus a GraphQL API, with APIs for reading, writing, importing, exporting, going back in time, and listening for updates.
  • Asset pipeline for uploading and transforming images on demand, plus querying image metadata such as dominant colours, sizes, geo-location, and EXIF data.
  • Bring-your-own-frontend approach, decoupling the Studio from whatever consumes the content.

Who uses it and how

  • Product and content teams that need editors and developers in one workspace: developers define schema and behaviour in JavaScript, editors use the generated real-time UI.
  • Headless deployments where a custom frontend consumes content through GROQ or GraphQL rather than a bundled site renderer.
  • Organizations publishing to several channels from a single source of truth, distributing structured content in real time.
  • Image-heavy publishing workflows that rely on on-demand transformation and asset metadata for derived and responsive assets.
  • Teams starting on the free plan, which includes hosting and bandwidth, then moving to pay-as-you-go for overages.

Getting started

Initiate a new project with npm create sanity@latest, or yarn create sanity@latest and pnpm create sanity@latest for other package managers. The README points to a free plan with hosting included and pay-as-you-go overages.

How it compares

The supplied facts name no other content management tool or paid product that Sanity Studio replaces, so on this page it stands alone in the Content & Publishing / Content Management Systems category. No licence, self-hosting, data-ownership, or cost comparison against named alternatives can be drawn from the material provided.

When to use it — and when not to

The Studio is open source, but the content store it is built around, the Content Lake, is hosted by Sanity, and the README documents that hosted path rather than describing how to operate a self-hosted data store; teams requiring full control of the content database should weigh that. Beyond the free plan's included hosting and bandwidth, usage moves to pay-as-you-go overages, so cost scales with traffic and content operations. The repository also carries 221 open issues, worth reviewing against a project's priorities before adoption.

project readme (upstream, from github) — read inline

Sanity

Get Started | Docs | Website


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

Frequently asked questions

Is sanity free to use?

sanity is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does sanity do?

Sanity Studio – Rapidly configure content workspaces powered by structured content

What is sanity written in?

sanity is primarily written in TypeScript. Its source is publicly available at https://github.com/sanity-io/sanity, and it has 6,324 GitHub stars.