Head to head

Kirby vs Grav

The two best-known flat-file PHP CMSs, compared on price, license, templates and what ships in the box. Written by the makers of a third one, which is why our entry is marked and listed last.

Which to choose
  • Choose Kirby if you want plain PHP templates and the admin and API in one licensed package.
  • Choose Grav if the budget is zero, or you need an open-source license.
  • Choose Total CMS if neither fits and the site must run on whatever hosting the client already pays for.
Checked 12 primary sources The longer answer Spot an error? Tell us

A note on who wrote this. We make Total CMS, a third flat-file CMS, and it appears at the bottom of this page. That is a conflict of interest, so we have kept the page about Kirby and Grav, marked our own entry, and priced everything from each vendor's own pages. Most readers choosing between these two should pick one of them, and the "How to choose" section says which.

Kirby and Grav are the two best-known flat-file PHP CMSs. Both store content as files in folders instead of rows in a database, so there is no MySQL to provision or back up, and a site can live in git. Both are mature, actively developed and well documented. They differ on three things that usually settle the choice:

  • Price and license. Grav is free and MIT licensed. Kirby is commercial, licensed per site, with a one-time fee.
  • Templates. Kirby templates are plain PHP. Grav templates are Twig.
  • How much is one package. Kirby's admin Panel and REST API are part of core. Grav's admin, REST API and MCP server are separate first-party plugins and packages that you install alongside core.

The short version: Kirby if you want plain PHP, a long track record and everything in one licensed package. Grav if you want free, open source software and are happy to assemble first-party pieces. If neither suits you, there is a third option at the end.

At a glance

Three worth your time.

The products in this guide, with price and who each suits
ProductPriceBest for
1. Kirby €99 Basic (under €1M revenue) / €349 Enterprise, per site Developers who want plain PHP and a long track record
2. Grav Free (MIT); optional premium add-ons $25–$100 Anyone who wants open source with nothing required paywalled
3. Total CMS Ours $195 Standard / $395 Pro, one-time per domain Freelancers and agencies handing sites to clients on ordinary hosting

The options

Each one, with its tradeoffs.

  1. Commercial, plain PHP templates, and the admin and API in one licensed core.

    Price
    €99 Basic (under €1M revenue) / €349 Enterprise, per site
    Best for
    Developers who want plain PHP and a long track record

    Strengths

    • Shipping continuously since 2012, now on its fifth major version, with the sixth in beta
    • Templates are plain PHP: no template language to learn and no ceiling on what a template can do
    • YAML blueprints build a bespoke admin Panel for each page type
    • Multi-language content is built into core, with a separate content file per language
    • A REST API is built in and gives full access to pages, files and users; the Panel itself runs on it
    • A machine-readable security file lists every past advisory with its CVSS score, a rare and genuinely admirable practice
    • Free licenses for students and educators, and free or discounted licenses for non-profits
    • Installs by unzipping a starter kit onto the server; Composer is optional

    How Kirby compares to Total CMS →

    Tradeoffs

    • Commercial and proprietary. The license falls back to MIT only if no stable release ships for a full year
    • One license per installation and domain, and each extra subdomain or subfolder needs its own, so multi-site work multiplies the cost
    • The €99 Basic tier requires your client's total annual revenue or funding to be under €1 million; above that it is €349
    • Updates are included for three years, then €59 (Basic) or €249 (Enterprise) for three more
    • No first-party MCP server. The capable one is a community plugin, built for Composer-based projects
    • Templates are PHP, so anyone who edits them can run arbitrary code
  2. Free, MIT licensed, Twig templates, and first-party tooling for AI agents.

    Price
    Free (MIT); optional premium add-ons $25–$100
    Best for
    Anyone who wants open source with nothing required paywalled

    Strengths

    • Free and MIT licensed: modify, redistribute and white-label with no fee
    • Nothing needed to run a production site is paywalled. Optional premium plugins and themes cost $25–$100 each, one-time, per site
    • Twig templates, a safer surface to hand a designer than raw PHP
    • First-party REST API with API keys and JWT, and a first-party MCP server with more than 70 tools. Their tagline is "A CMS for humans & agents"
    • Multi-language content is built into core, with a separate Markdown file per language
    • 536 plugins, 139 themes and 56 free skeletons, which are complete ready-to-run sites
    • Five caching layers, with APCu, Redis and Memcache drivers

    How Grav compares to Total CMS →

    Tradeoffs

    • The admin (Admin2), the REST API and the MCP server are separate first-party plugins and packages, each versioned and released on its own. Admin2 runs on the API plugin, so both must be installed
    • Access groups ship empty. The docs say it plainly: "By default, Grav does not provide any group." You define them in YAML
    • Admin2 documents theme colors and fonts but no logo or branding settings, so white-labeling for clients is limited
    • Support is a community forum and Discord. There is no paid support tier, though Trilby Media, the company behind Grav, sells development and consulting
    • Requires PHP 8.3.11 or higher, where Kirby runs on PHP 8.2
  3. Total CMS

    Ours — we make this

    If neither fits: a commercial flat-file CMS with the MCP server and access groups built in.

    Price
    $195 Standard / $395 Pro, one-time per domain
    Best for
    Freelancers and agencies handing sites to clients on ordinary hosting

    Strengths

    • Runs on any PHP 8.2+ host, with no Composer on the server and no framework to maintain
    • Twig templating, like Grav, with 130+ custom filters and functions
    • The admin, access groups, MCP server, REST API, image processing and automations are one application on one release cycle (Automations, external API access and full MCP access are Pro)
    • Access groups work out of the box, configured in the admin rather than written in YAML
    • White-label admin: your logo on Standard, no Total CMS branding anywhere on Pro
    • Support direct from the developer, by forum and ticket

    Everything Total CMS includes →

    Tradeoffs

    • Proprietary and paid. There is no free tier, only a 45-day trial and free use on local development domains
    • The smallest ecosystem and the smallest talent pool of the three
    • Two years of updates included, against Kirby's three and Grav's free updates forever
    • Multi-language works through locale-keyed fields (Pro) rather than a separate content file per language; Kirby and Grav both handle this in core
    • No GraphQL, and no e-commerce

How to choose

The longer answer.

Pick on constraints, not on feature counts. One of these usually decides it:

  • If the budget is zero, choose Grav. It is free, MIT licensed and actively developed, and you are not cutting corners to get that.
  • If you need an open-source license, choose Grav. Kirby is proprietary; its MIT clause is a safeguard against abandonment, not an open-source license.
  • If you want plain PHP templates, choose Kirby. No template language between you and your markup.
  • If designers or clients will edit templates, lean toward Grav. Twig limits what a template can do, which is a feature when someone else is touching it.
  • If you want the admin and API in one licensed package, choose Kirby. The Panel and REST API are part of core, and there is one vendor to pay and to ask.
  • If you want agent tooling from the vendor, choose Grav. Its REST API and MCP server are first-party and free. Kirby's MCP server is a community plugin.
  • If you build many small sites, run the numbers. Kirby's per-site fee adds up; Grav costs nothing per site unless you buy premium add-ons.
  • If neither fits, look at Total CMS. It suits a site that has to run on whatever hosting the client already pays for, with access groups and the MCP server in one supported product. It is paid, with a smaller ecosystem than either.

Both Kirby and Grav need no database. If you want to see the wider field, including Statamic and Publii, read our guide to the best flat-file CMSs.

Questions

Common questions.

Is Kirby or Grav better?

Neither is better across the board. Kirby is the better fit if you want plain PHP templates, a long track record, and the admin and API in one licensed package. Grav is the better fit if you want free, MIT-licensed software, Twig templates, and first-party agent tooling. Both are well built, actively developed and widely used.

Which is cheaper, Kirby or Grav?

Grav. It is free, and its optional premium plugins and themes cost $25–$100 each, one-time, per site. Kirby is €99 per site on the Basic tier if your client's annual revenue or funding is under €1 million, and €349 per site on Enterprise otherwise. Kirby includes three years of updates, then charges €59 or €249 for three more.

Does Kirby use Twig like Grav?

No. Kirby templates are plain PHP files. Grav templates are Twig. Plain PHP means nothing new to learn and no limit on what a template can do. Twig is a smaller, safer surface you can hand to a designer without handing over code execution.

Which handles multi-language sites better?

Both build it into core and take the same approach: a separate content file per language, such as `default.fr.md` in Grav or a language code on the text file name in Kirby. Kirby lets you add languages from its Panel. Try your own translation workflow in both before you decide.

Which works better with AI agents?

Grav ships more first-party tooling. Its REST API and MCP server come from the Grav team and are free. Kirby has no first-party MCP server; a capable community plugin provides one for Composer-based projects. If agent tooling decides it for you, try both against a real project.

Can I move a site from Kirby to Grav, or back?

Yes, with some scripting. Both store pages as folders of text files, and both use numeric folder prefixes for ordering. Kirby keeps fields in plain text files and Grav uses Markdown with YAML front matter, so content converts more easily than templates. Templates have to be rewritten, because one is PHP and the other is Twig.

You make Total CMS. Why should I trust this page?

Trust it as far as you can check it. Every price and claim about Kirby and Grav comes from their own pages, linked below. Our entry is marked as ours and listed last, and its tradeoffs include things both of them do better, including free updates forever on Grav and three years of updates on Kirby against our two. If you find something wrong, tell us and we will fix it.

Sources

Where these facts come from.

Checked . Software and pricing change, so check each product’s own site for their current details.

Kirby and Grav details verified from each vendor's own site on 24 October 2026:

All product names and trademarks belong to their respective owners. We have no affiliation with Kirby or Grav. If anything here is wrong or out of date, tell us and we will correct it.

Put it on your shortlist, then test it.

45 days, every Pro feature, no credit card. Install it next to the others and decide with a real site in front of you.