Explainer

Free and Open-Source Headless CMS Options Compared

A free headless CMS means either open-source self-hosting or a hosted free tier. Compare Strapi, Payload, Directus, and free plan limits for 2026.

DT
Draftbase Team · August 7, 2026 · 6 min read
Flat vector illustration comparing a self-hosted server rack with maintenance tools against a hosted cloud plan with a price tag and capacity gauge

A free headless CMS comes in two shapes. One is open-source software you host yourself, like Strapi or Payload. The other is a hosted platform with a free tier, like Contentful or Hygraph. They cost very different things over time. This guide covers both, plus the hidden costs each one carries. Draftbase sits in the hosted camp, with a plain-MDX store that keeps your content portable either way.

"Free" and "Open Source" Are Not the Same Thing

This trips up a lot of teams, so it's worth stating plainly.

Open source means the code is public and you can run it yourself. You pay for servers, updates, and your own time. The license may still restrict commercial features.

A free tier means a vendor hosts the software and gives you a limited plan at no cost. You pay nothing until you hit a cap. Then you pay their price.

Both are "free" on day one. Only one of them stays free at scale, and it isn't the one most teams expect.

The Main Open-Source Headless CMS Options

Three names lead this group in 2026: Strapi, Payload, and Directus. (drop.js).

Strapi is the most widely used open-source option by a wide margin. The Community Edition is MIT-licensed. The Enterprise Edition adds SSO, audit logs, and review workflows under a paid license. It takes a middle path between UI-driven and code-driven modeling.

Payload is the pick for TypeScript-first teams. The schema lives in code, so it stays in version control with your app. That fits CI/CD workflows better than a web-UI schema builder.

Directus works differently. It puts an API layer on top of an existing SQL database. If you already have the data, that's a strong fit. Note the license: Directus is source-available under the MSCL, not a standard open-source license.

Keystone is the option for teams deep in GraphQL. It's code-first and TypeScript-native, and it fits app-like projects more than simple content sites.

If your organization requires an OSI-approved license, the realistic list is short. Strapi and Payload are the two that qualify. (drop.js).

What Self-Hosting Actually Costs

Self-hosted is free to license. It is not free to run.

You own these jobs:

  • Server and database hosting
  • Upgrades and security patches
  • Backups and restore testing
  • Media storage and a CDN
  • Uptime monitoring and on-call

None of that is hard. All of it takes hours. For a small team, that's often two to four hours a month once the setup settles. Price your own time honestly before calling this option free.

The upside is real too. You keep full control of the data. There is no seat limit and no API call cap. The cost curve stays flat as traffic grows.

Free Tiers on Hosted Platforms

Hosted free tiers remove the ops work. They add caps instead. Here's how the main ones compare.

PlatformFree tier shapeMain limit
Contentful1 space, 5 users25,000 records
Hygraph3 seats, GraphQL-first500K API calls/month
StoryblokVisual editor1 user, no GraphQL delivery API
SanityGenerous request quotaSeat and usage caps by plan

Free tier details come from a 2026 comparison of hosted platforms. (Hygraph).

Read the caps in the order that will bite you. Record counts bite content-heavy sites first. Seat counts bite growing teams first. API call limits bite high-traffic sites first.

The Limit Most Teams Hit First

Here's the part the roundups undersell. The seat limit usually bites before the storage limit does.

A single-user free tier sounds fine when one developer is building. Then a writer joins. Then a reviewer joins. Now you're sharing one login or paying for a plan you didn't budget for.

Check the seat count before the storage number. Ask how many humans will need their own login within a year. That single question predicts the upgrade date better than any other cap on the page.

What Free Plans Usually Hold Back

Free tiers rarely cut the core API. They cut the team features around it. Expect these to sit behind a paid plan:

  • Role-based access control and granular permissions
  • Multiple environments, such as staging and production
  • Scheduled publishing and workflow approvals
  • Extra locales for translated content
  • Audit logs and version history depth
  • Priority support and uptime guarantees

Look at that list and mark the ones you need in month three. If two or more are marked, treat the free tier as a trial, not a plan.

Open-source options invert this. The core is complete, but polish features like SSO and audit logs often live in a paid enterprise edition.

Signs You've Outgrown the Free Plan

Four signals show up before the bill does.

A second writer joins. Shared logins break audit trails and reviews. This is the most common trigger.

Content volume climbs past a few thousand entries. Record caps count assets and translated copies too, so the real number arrives sooner than expected.

Traffic spikes. API call caps are monthly. One good launch week can burn the month's quota.

A launch needs staging. Testing schema changes against live content is a bad plan. Environments usually cost money.

Watching these four gives you months of warning. That's enough time to compare options instead of upgrading under pressure.

Which Free Option Fits Which Team

Solo developer, side project. Take a hosted free tier. The ops work isn't worth it at this size. Portability matters more than features.

Small team, one product site. Take a hosted free tier with at least three seats. Budget for the paid step within a year.

Team with existing infrastructure. Self-host Strapi or Payload. You already run servers, so the marginal ops cost is low. You get no caps in return.

Team with strict data rules. Self-host. Full data control is the whole point, and no free tier gives you that.

Portability Beats Price

Whichever you pick, the number that matters later is the exit cost, not the monthly one.

Export a few entries before you commit. If the body content comes back as a nested JSON tree of custom node types, a future migration means writing a converter. If it comes back as Markdown or MDX, the migration is a file copy.

This is where Draftbase differs from most hosted platforms. Rich-text fields are stored as raw MDX strings. Your content is already in the format a React project would want in a repo. For a developer-led team weighing a free tier, that's the point worth checking first: you can leave without a rewrite.

Conclusion

Free open-source headless CMS platforms like Strapi and Payload trade licensing cost for ops work. Free hosted tiers trade caps for convenience. Pick based on how much server work you want to own and how many seats you'll need in a year. Then check the export format before you commit. See our headless CMS overview for the underlying model, our 2026 platform roundup for ranked picks, or start a free Draftbase project if portable MDX storage is the priority.

Ship content that's built to be found

Draftbase generates schema, structured data, and a fast MDX editor for every post.

Frequently asked questions

What is the best free open-source headless CMS?

Strapi leads on adoption and plugins. Payload fits TypeScript teams who want schema in code. Both carry OSI-approved licenses, unlike Directus.

Is a free headless CMS really free?

Open-source is free to license but not to run. You pay for servers, upgrades, backups, and monitoring. Hosted free tiers cost nothing until you pass a cap.

Which free tier limit do teams hit first?

The seat limit. A single-user plan works while one developer builds, then breaks as soon as a writer and a reviewer join.

Can I self-host a headless CMS with full features?

Mostly. Strapi, Payload, and Directus all self-host with the core intact. Enterprise extras like SSO and audit logs often sit behind a paid edition.

What should I check before picking a free plan?

Check the export format. If entry bodies export as Markdown or MDX, leaving later is a file copy. A nested JSON tree means writing a converter.

Related reading

Go deeper on Headless CMS