Contentful and Sanity are both great headless CMS solutions that make it possible to easily manage the content of your website or application without hurting its performance.
Even though we like Contentful and still use it in some of our projects if it’s the client's preference, Sanity is our headless CMS solution of choice.
In this article, we'll explain 5 reasons why we prefer Sanity.
Sanity provides an easy-to-use and mobile-friendly interface that is straightforward, simple, and easy to get around. Setting up a Sanity project is as easy as clicking a button on Sanity's getting started page.
On the other hand, setting up a Contentful app is not as straightforward. There are various steps needed to configure your project. For example, you need to create your "space", set up your project, create various content types within your space and then choose which content type your app interacts with.
Sanity can be queried with GROQ, GraphQL, and REST, whereas Contentful can only be queried with GraqhQL and REST.
GROQ is a powerful query language built into Sanity. It's simple, easy to learn and has free-form queries that translate well to GraphQL, which makes the learning curve of Sanity a lot less steep.
Contentful does not excel when it comes to customizability because it comes with a pre-configured interface that is not customizable and certain pages of the studio cannot be deleted. Sanity is meant to be fully customizable by developers and the studio is simply a React application that developers can edit.
Sanity delivers a highly customizable interface that can be customized through Sanity's “Structure Builder”, giving you the ability to customize and configure how you segment and navigate your content, tailoring it according to your product's theme and needs.
Additionally, Sanity provides a fully customizable rich text editor. A rich text editor is an enhanced editor which shows how your content will appear in a website. With a rich text editor, you can add text, tables, links, images, code blocks, and any other components to a webpage without writing a single line of code.
Because Sanity's rich text editor is customizable, it's possible to add any custom blocks (e.g. forms, Youtube videos) to a page.
In Contentful, content types are created from the UI and you can only pick from fixed options. It is indeed a simple approach but it limits your freedom when it comes to content types and custom validation.
Sanity is designed to define content models through code. This design decision makes it easier to version control, reuse data structures and it puts the developers in complete control of how the data structures should be laid out and validated.
It might seem overwhelming for some people who are not experienced with code but it is much simpler than it sounds.
Take a look at this simple Sanity schema called "category" with one title field.
export default {name: 'category',title: 'Category',type: 'document',fields: [{name: 'title',title: 'Title',type: 'string',},],};
For us, one of Sanity's most appreciated features is its built-in backup and restore feature.
Have you published new content but decided later that the older version was better? No problem! With Sanity, you can browse through a document’s change history and restore any previous version instantly, so you do not have to worry about losing old content or backing up your content.
This feature is not available in Contentful at the time of writing this article.
The first paid package in Contentful starts at US$489 which might come as a surprise if you've been using the free version of Contentful and were not expecting it.
On the other hand, Sanity's first paid plan starts at US$99 which is more reasonable for small businesses and startups.
Additionally, in Contentful, you’re limited to a set of locales based on your pricing plan.
In Sanity, localization can be achieved with unlimited locales and in several ways. Here's an article explaining how localization can be achieved on Sanity.
In addition, because Contentful pricing is based on the content types, users are incentivised to conserve types at the cost of worse experience and limited flexibility.
For us, Sanity is our first choice when it comes to CMS solutions, and there are many others who share the same opinion.
According to G2, "reviewers found Sanity easier to use, set up, and administer. Reviewers also preferred doing business with Sanity overall".
Check out their side-by-side comparison of Contentful vs. Sanity.