Open-source headless CMS that edits Markdown, MDX, JSON and YAML content stored in your own Git repository, with a GraphQL API.
craftcms/cms
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 alternative to:Contentful
WordPress
- Stars
- 3,617
- Forks
- 709
- Open issues
- 530
- Last commit
- 7 hours ago
What is it?
Craft CMS is a self-hosted content management system written in PHP. It lets teams define their own content models rather than fitting content into predefined post or page types, and it provides an editing control panel for creating and managing that content.
For front-end output, Craft uses the Twig templating system to render pages. It also generates a GraphQL API automatically from the content model, which supports headless setups where a separate application consumes the content. Content is stored in MySQL or PostgreSQL.
The project includes an ecommerce platform (Craft Commerce, offered separately) and a Plugin Store with free and commercial plugins. A extension framework lets developers add custom functionality.
Key features
- 01Control panel for content creation and administration.
- 02Flexible content modeling without predefined content types.
- 03Twig-based templating system for rendering pages.
- 04Auto-generated GraphQL API for headless applications.
- 05Plugin Store with free and commercial plugins.
- 06Extension framework for custom functionality.
Use cases
- Building a custom corporate website with bespoke content structures.
- Serving content to a separate front-end through a GraphQL API.
- Running a blog or editorial site with a self-hosted PHP stack.
Quick start
- 1
Install Craft with Composer
- 2
Read the official installation guide
Things to know
- Requires a self-hosted PHP server with MySQL or PostgreSQL.
- License is listed as NOASSERTION, so check the license terms before use.
- Some features, such as ecommerce and many plugins, are paid or commercial.
Topics
FAQ
- What is cms?
- A self-hosted PHP content management system for building custom websites and digital experiences, with a Twig templating layer and auto-generated GraphQL API. Craft CMS is a self-hosted content management system written in PHP. It lets teams define their own content models rather than fitting content into predefined post or page types, and it provides an editing control panel for creating and managing that content.
- Is cms free to use? What license does it have?
- cms is open source under the Other license. Check the license terms before using it in commercial products.
- Is cms still maintained?
- Actively maintained. The last commit to cms was on Oct 19, 2026.
- What can I use cms for?
- Building a custom corporate website with bespoke content structures. Serving content to a separate front-end through a GraphQL API. Running a blog or editorial site with a self-hosted PHP stack.
- How do I install cms?
- Install Craft with Composer Read the official installation guide
- Where can I get cms?
- The source code and installation instructions are on GitHub: https://github.com/craftcms/cms
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Drupal core, an open source PHP content management platform for sites from personal blogs to large community websites.
Wraps any SQL database with instant REST and GraphQL APIs, a visual admin Studio, and a native MCP server for AI agents.
A full-stack TypeScript CMS built on Astro that aims to bring WordPress-style extensibility and admin UX to serverless, with sandboxed plugins.
Open-source monorepo of SDKs, examples, and starters for Builder.io's visual development platform across React, Vue, Svelte, Qwik and more.
An open-source CRM you can extend as code, with objects, views, workflows and AI agents, built on TypeScript, React and PostgreSQL.