Open-source Next.js-native headless CMS and app framework with a TypeScript backend and customizable React admin panel.
strapi/strapi
Open-source, self-hosted headless CMS in TypeScript that generates REST and GraphQL content APIs from your content models.
Open-source alternative to:Contentful
Sanity
Directus
- Stars
- 73,355
- Forks
- 9,911
- Open issues
- 616
- Last commit
- 4 hours ago
What is it?
Strapi is a self-hosted headless CMS for building content APIs. You define content types visually in the Content-Type Builder, and Strapi generates REST and GraphQL endpoints for each one, which any frontend, mobile app, or device can consume. Content creators get an admin dashboard for editing, while developers can customize the backend through routes, middlewares, controllers, and services.
The project includes built-in roles and permissions, a media library, internationalization, and draft and publish workflows. It is written in TypeScript and supports SQLite, PostgreSQL, MySQL, and MariaDB. Extensions are handled through a plugin system, and the admin dashboard can be customized.
A project can be created with a single npx command. Strapi Cloud offers managed hosting, and the repository also includes LaunchPad, a demo template that pairs Strapi with Next.js.
Key features
- 01Visual Content-Type Builder for defining content models without code
- 02Auto-generated REST and GraphQL APIs for every content type
- 03Granular roles and permissions out of the box
- 04Built-in media library, internationalization, and draft and publish
- 05Supports SQLite, PostgreSQL, MySQL, and MariaDB
- 06Extensible plugin system and customizable admin dashboard
Use cases
- Serving content to a Next.js or other JavaScript frontend through a content API
- Giving non-technical editors a dashboard to manage multilingual content
- Providing a backend for mobile apps or IoT devices that need structured content
Quick start
- 1
Create a new project with the Quickstart command
npx create-strapi@latest my-project - 2
Optionally, containerize your project with the community Docker tool
npx @strapi-community/dockerize@latest
Things to know
- Strapi does not ship official Docker images, so you must build your own.
- License is listed as NOASSERTION in metadata; check the LICENSE file before commercial use.
Topics
FAQ
- What is strapi?
- Open-source, self-hosted headless CMS in TypeScript that generates REST and GraphQL content APIs from your content models. Strapi is a self-hosted headless CMS for building content APIs. You define content types visually in the Content-Type Builder, and Strapi generates REST and GraphQL endpoints for each one, which any frontend, mobile app, or device can consume. Content creators get an admin dashboard for editing, while developers can customize the backend through routes, middlewares, controllers, and services.
- Is strapi free to use? What license does it have?
- strapi is open source under the Other license. Check the license terms before using it in commercial products.
- Is strapi still maintained?
- Actively maintained. The last commit to strapi was on Oct 21, 2026.
- What can I use strapi for?
- Serving content to a Next.js or other JavaScript frontend through a content API Giving non-technical editors a dashboard to manage multilingual content Providing a backend for mobile apps or IoT devices that need structured content
- How do I install strapi?
- Create a new project with the Quickstart command: npx create-strapi@latest my-project Optionally, containerize your project with the community Docker tool: npx @strapi-community/dockerize@latest
- Where can I get strapi?
- The source code and installation instructions are on GitHub: https://github.com/strapi/strapi
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Wraps any SQL database with instant REST and GraphQL APIs, a visual admin Studio, and a native MCP server for AI agents.
Open-source headless CMS that edits Markdown, MDX, JSON and YAML content stored in your own Git repository, with a GraphQL API.
A self-hosted PHP content management system for building custom websites and digital experiences, with a Twig templating layer and auto-generated GraphQL API.
Open source Node.js backend that provides REST and GraphQL APIs, user auth, file storage and push notifications on MongoDB or PostgreSQL.
The JavaScript reference implementation of GraphQL, for building typed schemas and executing queries in Node.js and browsers.