Web Dev Tools

Headless CMS

Where to put structured content for marketing sites and apps.

Self-hostable / open source

  • Payload CMS 3 — Node, React admin, Postgres or MongoDB, runs inside your Next.js app. The most popular self-host pick for new TS projects.
  • Sanity — proprietary content lake + open-source studio (React). Generous free tier; paid above.
  • Strapi 5 — Node, opinionated admin, Postgres/MySQL/SQLite. Mature, large install base.
  • Directus — DB-first; point it at your Postgres/MySQL and get an instant API + admin.
  • KeystoneJS — TypeScript-first, GraphQL out of the box.
  • Tina CMS — git-backed markdown/MDX; visual editor; great for content-as-code.
  • Outstatic — markdown CMS that lives in your GitHub repo, no DB needed.

Hosted (free tier)

  • Sanity — generous free tier.
  • Hygraph (formerly GraphCMS) — GraphQL-first, free tier exists.
  • Contentful — large incumbent; small free tier.
  • Storyblok — visual editor + API.
  • Prismic — slice-based content; free tier exists.

Git-backed / file-based

  • Tina CMS — visual editing of markdown/MDX in git.
  • Decap CMS (formerly Netlify CMS) — git-backed, simple.
  • Outstatic — markdown in your repo.
  • Pages CMS — lightweight, GitHub-backed, free.

Database-first (you write SQL, get an admin)

  • Directus — closest to "instant admin for your Postgres."
  • Forest Admin — admin-as-a-service for any DB.
  • Refine — a framework for building admin panels (not a CMS).
  • AdminJS — Node admin panel framework.

Pick this if…

  • You're on Next.js and want one app: Payload.
  • Marketing team needs a polished editor and you have budget for the paid tier: Sanity.
  • Content-as-code, git-backed: Tina or Outstatic.
  • Already have a Postgres DB, just need an admin: Directus.
  • GraphQL-first content: Hygraph or KeystoneJS.

On this page