Kirby
File-based CMS for designers and developers
Kirby is a flexible file-based content management system that stores content in plain text files and gives developers full control over markup. It is popular for portfolios and custom-designed websites.
Key features
- File-based content storage
- Flexible panel for editors
- No database required
- Developer-friendly templating
Pros & cons
Strengths
- Easy backups and version control
- Highly customizable
Trade-offs
- Commercial license required for production
- Free only for personal use
Kirby replaces
Last reviewed Sep 13, 2026 · 850 words
Budget about €99 per site before you launch anything with Kirby. The source is on GitHub and you can run it locally for free indefinitely, but a production site needs a paid licence, and that is the fact that sorts readers of this page into two groups faster than any feature. If paying for a CMS you host yourself is a non-starter, stop here and go to Grav, which is the closest free equivalent. If a one-off fee is acceptable for a well-maintained tool with a company behind it, Kirby is one of the nicest pieces of PHP software a designer or developer can run.
The licence is the first decision, not the last
Kirby's model is free for personal and development use, paid per site for anything public. Prices at last check were about €99 for the basic tier and about €399 for the enterprise tier that covers larger organisations, both as one-time purchases per major version with a period of updates included. That is cheaper than a year of most hosted site builders and it buys a full-time team, a real changelog and a support forum with staff in it. The catalogue is right that this cuts against the "free" expectation of self-hosting; the counterargument is that WordPress agencies routinely pay more than that for a single premium plugin.
Content is a folder of text files
There is no database. A page is a folder under content/, and inside it a text file holds the fields, with images and files sitting next to it:
content/
1_projects/
1_bridge/
project.txt
hero.jpg
about/
about.txt
The numeric prefix is the sort order, the folder name is the URL, and project.txt names which template renders it. Fields inside the file are Title: ... lines separated by four dashes. This is why "easy backups and version control" is not a slogan: the whole site, content included, is a Git repository, and a content change shows up as a readable diff. Migrating hosts is rsync. Restoring is checkout. For a portfolio, an agency site, a documentation site or anything under a few thousand pages, that beats a database for the operator every time. Past that scale, or with heavy concurrent editing, it does not, and Kirby does not pretend otherwise.
The Panel is what editors actually see
Developers control the front end completely: templates are PHP files, and there is no theme system to fight. What makes Kirby viable for clients is the Panel, the admin interface, and the blueprint files that define it. A blueprint is YAML describing the fields, tabs and layouts for a page type, so the editing screen for a "project" shows exactly a title, a client field, a gallery and a text block, and nothing else. Editors get a multi-user backend with roles, drafts, image handling and a block editor, and they never see the file system. This is the feature that puts Kirby above Grav for client work in my experience, because Grav's admin is a plugin that has always felt like an addition, while Kirby's Panel is the point.
Hosting needs PHP and little else
Requirements are a current PHP with the usual extensions and a web server that can rewrite URLs. A 256 MB PHP-FPM pool on a small VPS runs a Kirby site with room to spare; I have hosted several on a shared 2 GB box next to other things. There is no official Docker image, but the pattern is a php:fpm image plus Caddy or Nginx with the site directory bind-mounted, and it works because there is no database to link. Turn on the page cache in site/config/config.php for public sites and it serves static HTML until content changes. Performance complaints about Kirby are almost always a missing cache or a missing image cache directory permission.
Who picks Kirby, and who should not
Kirby wins for designers and developers building custom sites for clients where the editing experience is a deliverable, and for anyone who wants content in Git with a proper admin on top. It loses for people who want to install a theme and be done, where WordPress and its ecosystem are unbeatable, and for people who want free, where Grav or a static generator like Hugo is the answer. It also loses if you need an editorial workflow with approvals and scheduling across a large team; that is not what a file-based CMS is for. See the wider CMS category for the alternatives.
What I'd do
For a client site or a serious personal site where someone other than me edits content, buy the licence, build on the starter kit, commit content/ to Git, and host it as PHP-FPM behind Caddy with the page cache on. For a personal site nobody else edits, use Grav or Hugo and keep the €99. The licence is the only real objection to Kirby, and it is an objection about money, not about the software.
Compare Kirby
25 head-to-head comparisons.
- Kirby vs Ghost
- Kirby vs WordPress
- Kirby vs Wagtail
- Kirby vs Grav
- Kirby vs October CMS
- Kirby vs Orchard Core
- Kirby vs Pagekit
- Kirby vs Joomla
- Kirby vs Statamic
- Kirby vs Mezzanine
- Kirby vs ApostropheCMS
- Kirby vs Pico
- Kirby vs Craft CMS
- Kirby vs Microweber
- Kirby vs Anchor CMS
- Kirby vs Piranha CMS
- Kirby vs PublicCMS
- Kirby vs Winter CMS
- Kirby vs Bludit
- Kirby vs MODX Revolution
- Kirby vs Fork CMS
- Kirby vs ProcessWire
- Kirby vs Backdrop CMS
- Kirby vs Automad
- Kirby vs Concrete CMS
Similar content management systems apps
Ghost
Content Management SystemsProfessional publishing platform for blogs and newsletters
Replaces WordPress, Substack
Payload CMS
Content Management SystemsTypeScript-native headless CMS and application framework
Replaces Contentful, Sanity
Docsify
Content Management SystemsDocumentation site generator
Replaces GitBook
WordPress
Content Management SystemsThe most popular content management system in the world
Replaces Wix, Squarespace
Wagtail
Content Management SystemsDeveloper-friendly Django CMS with a great editor experience
Replaces Adobe Experience Manager, WordPress
Grav
Content Management SystemsFast flat-file CMS with no database required
Replaces WordPress, Squarespace