Most headless CMS platforms have a free tier that works for development but charges for production. Understanding what "free" actually means (record limits, contributor seats, API rate limits, bandwidth) is worth doing before you build your architecture around a platform. This post covers the options that are actually free for production use and what you trade away in each case.
The Free Tier Problem
Most "free" headless CMS platforms limit their free tier to small record counts, limited API calls, or development use only. Contentful's free plan gives you 25,000 records, 2 locales, and 2 users, which works for small projects but gets tight fast. Sanity's free tier is more generous: unlimited projects and users, 500k API CDN requests per month, and 5GB of assets. The request limit, though, hits faster than expected once you have real production traffic.
The key question with any managed headless CMS: does the free tier cover your production traffic, or just your dev environment?
Git-based CMS options sidestep this problem entirely. There is no database, no API, and no request counting. Your content lives in a Git repository, and your build pipeline reads from there. If GitHub's uptime is acceptable to you (it should be), you have a free CMS with no usage caps.
Git-Based CMS (Free for Public Repos)
md0 CMS is free for public repositories. There are no record limits, no API rate limits, and no contributor seat fees. Your content is in GitHub, not a proprietary database, so you are never locked into a vendor's pricing decisions. It works best for markdown-heavy sites: blogs, documentation, and marketing pages.
Decap CMS (formerly Netlify CMS) is free and open source. It runs as static files in your repository's /admin folder and requires no server. The downside is that active development has slowed, and you may find yourself waiting on bug fixes or working around known issues.
TinaCMS has a self-hosted path that is free but requires running your own Tina server. Tina Cloud, the hosted version, has a free tier with content limits. The self-hosted route is viable if you have a server to run it on, but adds operational overhead that some teams want to avoid.
The trade-off with git-based CMS across all options: your content is in markdown files. This works well for text-heavy content but is a poor fit for complex relational data, e-commerce product catalogs, or content with many interdependent types.
For more on why some teams choose this architecture, see what a git-based CMS actually is and how it differs from API-based options.
Self-Hosted Options (Free If You Host)
Strapi is open source and self-hostable on any Node.js server. There are no per-record or per-user fees on the self-hosted version. You pay for your own infrastructure, whether that is a $6/month VPS or a Kubernetes cluster. Strapi has a cloud offering, but the self-hosted version is fully featured and not artificially limited.
Payload CMS is a newer open-source alternative to Strapi. It is TypeScript-native, has a cleaner admin UI, and supports both REST and GraphQL out of the box. Like Strapi, you provide the server. The project has grown quickly and the community is active as of 2026.
Ghost is open source under the MIT license and primarily suited for publishing: blogs, newsletters, and membership sites. The Ghost.org hosted version charges a monthly fee, but you can run the same software on a VPS for the cost of your server. It handles editorial workflows well but is less general-purpose than Strapi or Payload.
The trade-off with all self-hosted options: you are responsible for hosting, uptime, backups, and security updates. That is a reasonable trade for teams with infrastructure experience. For teams without it, managed platforms are often worth paying for.
Fully Managed Free Tiers (With Limits)
Sanity has the most generous managed free tier among API-based headless CMS platforms. You get real-time collaboration in the Studio editor, GROQ-based queries, and generous asset storage. The 500k monthly API requests can cover a low-to-medium traffic site, but you need to check your numbers before assuming the free tier holds.
Hygraph (formerly GraphCMS) gives you 250 content entries, 1 environment, and 2 roles on the free plan. That is fine for prototyping and evaluation, but most real projects hit those limits before launch.
Directus Cloud has a smaller free tier, oriented toward evaluation rather than running production workloads. The self-hosted Directus is fully open source and has no such limits, which makes it more comparable to Strapi or Payload for teams willing to host.
Which One to Pick
The right choice depends on what you are building:
Markdown-heavy site (blog, docs, portfolio) in a public GitHub repo: md0 CMS is the cleanest option. No database, no limits, free permanently. Content stays in Git where you can version it, review it in pull requests, and migrate it without vendor lock-in.
Complex content with many types and relationships: Strapi or Payload, self-hosted. Both give you full control over your data model and no usage-based pricing surprises.
Rapid prototyping with a managed API: Sanity's free tier gets you furthest without setting up a server. The Studio editor is polished and the free tier covers serious evaluation.
Publishing-focused site: Ghost self-hosted. The editorial tools are purpose-built for that workflow.
Team project with non-technical editors who need a polished UI: Sanity or Strapi. Both have admin interfaces that non-developers can use without training. Sanity's Studio is more customizable; Strapi's admin is more out-of-the-box.
You can also find direct comparisons between md0 and other CMS platforms if you are weighing specific alternatives.
What "Free" Usually Means in Practice
Free tiers are optimized for developer evaluation, not for running production sites with real traffic long-term. The upgrade triggers are predictable: you hit the record limit, a teammate needs access, or you exceed your monthly API call budget. These are not gotchas; they are the business model.
Self-hosted and git-based options have no usage-based pricing. The cost is your own infrastructure, which is frequently lower than a managed platform's production tier once your project reaches any meaningful scale. The cost is also more predictable: a fixed server bill rather than a variable per-request fee.
Before committing to any platform, read the pricing page carefully and estimate where your project will be in 12 months. The gap between a free tier and the first paid tier is often larger than it looks.