Word & Press · 24 publishing platforms profiled Updated 10 October 2026

Compare

Kirby vs Grav for publishers: paid licence or free Markdown?

Kirby and Grav compared for small publishers: two flat-file PHP CMSs with no database, differing on licence, cost, editorial controls, SEO and languages.

By Word & Press Published 10 October 2026 Facts verified 10 October 2026 Read 5 min

The short answer

Pick Grav if you want free, MIT-licensed software with Markdown content and a large plugin catalogue. Pick Kirby if you want a polished, blueprint-driven panel, built-in multi-language support and are happy to pay once per site. Both are flat-file PHP systems with thin newsroom workflow, so a developer shapes either one.

KIRBY VS GRAV

The short version

Pick Grav if the budget is zero and the editors are comfortable with Markdown. It is MIT-licensed, content is Markdown with YAML front matter in folders, and there is no database. Its site says the core CMS is free, with premium plugins and themes sold separately. It has an optional Admin plugin and a plugin directory of 521 entries.

Pick Kirby if you want a considered editing panel and built-in multi-language support, and a one-off licence per site is acceptable. Its source is public, but the licence page says plainly that Kirby is not free. Basic is EUR 99 per site and Enterprise EUR 349, excluding VAT, with no subscription.

Both are PHP flat-file systems, so hosting is simple and the weak spots match: newsroom workflow is thin, and sitemaps, feeds and structured data are template or plugin work. Read the profiles for Kirby and Grav first. Our assessment draws on vendor documentation only, not on an install.

At a glance

Feature Kirby Grav
Licence Proprietary, source available; paid licence for public sites MIT
Latest version 5.6.1 (GitHub, 2026-10-10) 2.2.6; 1.7 series also maintained (GitHub, 2026-10-10)
Written in PHP PHP with Symfony components, Markdown and Twig
Hosting Self-hosted; Apache works out of the box, nginx and Caddy need configuration Self-hosted; Apache, Nginx, LiteSpeed, IIS and others listed for 1.7
Editorial roles/workflow Draft, listed and unlisted states; roles defined in blueprints Optional Admin plugin with login and ACL; publish and unpublish dates
SEO & structured data No core sitemap; cookbook recipe; template work Metadata in page headers; sitemap, feed and structured-data plugins
Multilingual Built in Documented for 1.7 via language-named files; listed for 2.x
Headless/API Not documented in pages we read First-party REST API described for 2.x
Typical cost EUR 99 or EUR 349 per site, excluding VAT Free; premium plugins and themes extra
Best for Small design-led titles with a developer Small or volunteer-run publications on a budget

Editorial workflow

Kirby pages have three states. Draft pages are visible only to logged-in users. Listed pages appear in navigation. Unlisted pages are reachable by URL but not listed. Permissions are defined in user blueprints for each role, or in page, file or site blueprints for finer rules, and the admin role can always do anything. Roles such as editor are examples you define, not presets.

Grav keeps each page as a Markdown file in its own folder. A page is published by default unless published is set to false, its publish_date is in the future or its unpublish_date has passed. That gives basic timed publishing without a plugin. In the 1.7 documentation the Admin plugin is optional and offers user login and an access control list for admin users. getgrav.org describes an Admin 2.0 single-page app and a REST API with permission-based access.

Neither set of pages we read describes revision history, multi-step review or content locking. Grav has the edge on timed publishing built into page headers. Kirby has the edge on a permissions model written into blueprints. For a desk with more than a few editors, expect to build or plug in what you need.

Search, structured data and feeds

Kirby’s core does not provide a sitemap. The cookbook gives a recipe and points to community plugins for complex needs. Meta tags, structured data and feeds are template work, so SEO quality equals build quality.

Grav’s page headers include a metadata section for robots, description, keywords, author and social tags. The Grav Sitemap plugin uses page headers for crawl frequency and priority, which tells us sitemaps come from a plugin. The plugin directory lists feed plugins, an IndexNow plugin, an Aura plugin that adds meta tags and structured data, and a premium Seo Magic plugin. We have not tested any of them.

So Grav hands you more ready-made pieces, and Kirby hands you a blank template and a good recipe. Check every plugin’s licence, price and maintenance, and follow Google’s documentation for structured data. The feature checklist lists what to test.

Hosting, performance and security

Kirby’s quickstart lists PHP 8.2, 8.3, 8.4 (recommended) and 8.5, with Apache working out of the box and nginx and Caddy needing configuration. No database requirement is listed.

Grav 2 requires PHP 8.3.11 or higher, plus extensions including curl, gd, mbstring, openssl and zip, and no database. The 1.7 documentation lists a much wider set of web servers. Grav runs two release lines, and the documentation marks 2.x as current stable and 1.7 as legacy, so confirm which one you are installing and which plugins support it.

Both put content in files on your server, so backups, deployments and concurrent edits are your discipline. We have no performance or security figures for either. See the self-hosted guide for the operational side.

Cost of ownership

Grav is free under MIT. The cost is a PHP host and developer time. We did not record premium plugin or theme prices.

Kirby is free for development installations. A public site needs a licence activated to its domain and root directory, and each licence covers one website. On 2026-10-10 the buy page listed Basic at EUR 99 per site, for organisations under EUR 1 million in annual revenue or funding, and Enterprise at EUR 349, excluding VAT. A licence includes three years of feature updates. After that you may keep the latest version released in that period, or buy more update years at EUR 59 (Basic) or EUR 249 (Enterprise).

A publisher running ten small titles pays for ten Kirby licences. The licence is small against build time, which is the real cost of either. See the cost guide and licensing guide.

Migrating between them

We did not find an official Kirby-to-Grav or Grav-to-Kirby migration tool in the documentation we opened. The content models are similar in spirit, folders as pages, but Kirby stores text files shaped by blueprints and Grav stores Markdown with YAML front matter. Converting means a script that maps fields, plus a check that URLs, language variants and publish dates survive.

Plan redirects for any URL that changes. If you are also leaving the flat-file world, compare with Craft CMS vs Statamic, where Statamic is a flat-file system with a paid Pro tier.

Which should you choose?

  • Volunteer-run or zero-budget publication: Grav.
  • Design-led magazine with a developer who wants blueprint-shaped editing: Kirby.
  • Several languages from day one: Kirby, which documents built-in support, or Grav 1.7 with language-named files; test either.
  • Need ready-made feed, sitemap and SEO plugins: Grav.
  • Dozens of titles on a tight budget: Grav, because Kirby licences are per site.
  • Formal approvals, audit trails or a large archive: neither; see the CMS directory and the comparison hub.

You can try either locally; the demo page explains how we approach trials.

Questions people ask

Is Grav better than Kirby?

Not in general. Grav costs nothing and has a large plugin directory, which suits a tight budget. Kirby charges per site but includes built-in multi-language support and a panel shaped by blueprints. Choose by licence cost, language needs and who will build the site.

Which is free, Kirby or Grav?

Grav. Its repository states the MIT licence and its site says the core CMS is free. Kirby's source is public but its licence page says Kirby is not free: public sites need a paid licence, from EUR 99 per site, though development installations are free.

Do Kirby and Grav need a database?

No. Kirby stores content in files and folders, and Grav's requirements page says it is built with plain text files so no database is needed. Backups and deployments become file operations.

Which is better for a multilingual news site?

Kirby documents built-in multi-language support covering translated content and URLs, and right-to-left languages. Grav also documents multi-language, using language-named Markdown files, in its 1.7 documentation. Check Grav's 2.x documentation for differences.

Can either handle a busy newsroom?

Neither documents multi-step approval or revision history in the pages we read. Both suit small desks with a developer. A larger newsroom with formal workflow should look at other systems in the directory.

Sources

  1. The latest GitHub release of Kirby is 5.6.1, published on 6 October. — source, checked 10 October 2026.
  2. Kirby's licence page states that while Kirby's source code is publicly available, Kirby is not free. — source, checked 10 October 2026.
  3. Kirby's licence says installing and using it on a personal computer or server as a Development Installation is free for as long as needed. — source, checked 10 October 2026.
  4. Kirby's licence says installing or using it on a Public Site requires a paid licence, which must be activated to the site's domain name and root directory, and that each licence covers a single instance on a specific website. — source, checked 10 October 2026.
  5. Kirby's buy page lists a Basic licence at EUR 99 per site (for those with under EUR 1 million annual revenue or funding) and an Enterprise licence at EUR 349 per site, excluding VAT, as a one-time purchase with no subscription. — source, checked 10 October 2026.
  6. Kirby's buy page says a licence includes three years of feature updates; afterwards you can keep using the latest version released in that period for free or buy additional update years (EUR 59 for Basic, EUR 249 for Enterprise, excluding VAT). — source, checked 10 October 2026.
  7. Kirby's quickstart lists supported PHP versions 8.2, 8.3, 8.4 (recommended) and 8.5, says Apache works out of the box and nginx and Caddy need configuration, and mentions a standard set of PHP extensions; no database requirement is listed. — source, checked 10 October 2026.
  8. Kirby's documentation says that since Kirby is a flat-file CMS, all content is stored in files and folders within the content folder, and each folder represents a page with its own URL. — source, checked 10 October 2026.
  9. In Kirby pages have three states: draft, accessible only to logged-in users; listed; and unlisted, which is reachable by URL but not listed. — source, checked 10 October 2026.
  10. Kirby permissions can be defined in a user blueprint for each role or in page, file or site blueprints, and the admin role does not obey those settings and can always do anything. — source, checked 10 October 2026.
  11. Kirby's documentation covers built-in multi-language functionality, including translating content, translating URLs, custom language variables, switching languages in the frontend and supporting RTL languages. — source, checked 10 October 2026.
  12. Kirby's cookbook gives a recipe for building a sitemap and points to community plugins for more complex needs; the core does not provide a sitemap feature. — source, checked 10 October 2026.
  13. The Grav repository states the licence as MIT, and its LICENSE.txt is the MIT License. — source, checked 10 October 2026.
  14. The Grav repository describes Grav as a flat-file CMS powered by PHP, Markdown, Twig and Symfony. — source, checked 10 October 2026.
  15. The latest release marked on GitHub is Grav 2.2.6, published on 10 October; the 1.7 series is also maintained, with 1.7.53.5 released on 5 October. — source, checked 10 October 2026.
  16. The getgrav.org site describes Grav as a flat-file, API-first CMS built on PHP 8.3+, Symfony 7 and Twig 3, with no database requirement, native Markdown and YAML support, multi-language capabilities, an Admin 2.0 single-page app and a first-party REST API with permission-based access control; the core CMS is free and premium plugins and themes are sold separately. — source, checked 10 October 2026.
  17. The Grav documentation marks version 2.x as the current stable documentation and 1.7 as legacy. — source, checked 10 October 2026.
  18. Grav 2's requirements page says PHP 8.3.11 or higher is needed, that Grav is built with plain text files so no database is needed, and lists curl, ctype, dom, gd, json, libxml, mbstring, openssl, session, simplexml and zip as required PHP extensions. — source, checked 10 October 2026.
  19. The Grav 1.7 requirements page lists Apache, Nginx, LiteSpeed, Lightly, IIS and others as supported web servers. — source, checked 10 October 2026.
  20. In Grav, content pages live in the /user/pages folder, each page in its own folder, as a Markdown file with YAML front matter; numeric folder prefixes control ordering. — source, checked 10 October 2026.
  21. A Grav page is published by default unless published is set to false, publish_date is in the future or unpublish_date is in the past. — source, checked 10 October 2026.
  22. Grav page headers support a metadata section for meta tags such as robots, description, keywords, author and social tags, and the Grav Sitemap plugin uses page headers to set crawl frequency and priority. — source, checked 10 October 2026.
  23. In the Grav 1.7 documentation the Administration Panel is a plugin that provides a web interface to configure Grav and create and modify pages, with user login and an ACL for admin users, and it is described as a totally optional plugin. — source, checked 10 October 2026.
  24. In the Grav 1.7 documentation multi-language works through language-named Markdown files such as default.en.md with fallback to default.md, languages declared in system.yaml, and optional URL prefixes such as /en/ and /fr/. — source, checked 10 October 2026.
  25. The Grav plugin directory lists 521 plugins and includes feed plugins, an IndexNow plugin, an Aura plugin that adds meta tags and structured data, and a premium Seo Magic plugin. — source, checked 10 October 2026.