Comparisons

Total CMS vs Kirby

Kirby is one of the best flat-file CMSs there is, and if its philosophy suits you it is a great choice. The question was never whether Kirby is good — it is whether plain PHP templates and a per-site license match the way you build. Total CMS answers that differently.

When to choose which
  • Choose Kirby if you want plain PHP templates, with no template language in between.
  • Choose Total CMS if you would rather hand a designer Twig than raw PHP.
Kirby facts checked 10 primary sources Spot an error? Tell us

The short answer: Kirby and Total CMS are more alike than either is like WordPress. Both store content as files on disk, both need no database, both are commercial PHP software with a one-time per-domain license, and both are built by small independent teams.

The differences that actually matter are these. Kirby templates are plain PHP and its content model is defined in YAML blueprints; Total CMS templates are Twig and its content model is defined in JSON schemas. Kirby's admin Panel is a Vue single-page app; Total CMS renders its admin on the server. Kirby has a fourteen-year track record and a large, established plugin directory; Total CMS has shipped since September 2015 and puts more of its functionality in the box — including a built-in MCP server, a REST API on every edition, and Pro-tier custom schemas and Automations.

Total CMS ships an MCP server as a first-party feature, not a plugin — connect Claude Code, Cursor, or Windsurf and your agent queries your live site's schemas, content, and exact Twig signatures directly, instead of guessing from training data. Kirby has a capable community MCP plugin, but nothing first-party yet.

If you are a PHP developer who wants no template language between you and your markup, and you value a large plugin ecosystem and a long track record, Kirby is an excellent choice. If you would rather write Twig, want your CMS legible to AI coding agents out of the box, and want scheduling and webhooks (Pro) without assembling plugins, Total CMS will fit better. Both earn their place in our guide to the best flat-file CMSs, if you want the wider field.

Which to choose

Where each one wins.

When to choose Kirby instead

Kirby is a genuinely excellent CMS, and there are cases where it is the better buy. Choose Kirby if:

  • You want plain PHP templates. If a template language feels like a layer between you and your markup, Kirby has no DSL to learn and no ceiling on what a template can do.
  • You want one feature set at every price. Kirby's tiers differ by who is allowed to buy them, not by what you get. Total CMS gates some features by tier.
  • You keep a lot of pre-launch work on private servers. Kirby's development installations are free indefinitely on any install that is not publicly accessible. Total CMS is free on local development domains, and staging on a real domain uses a license's testing subdomains.
  • You are a student, educator, or non-profit. Kirby gives free licenses to students and academic staff, and discounts or free licenses to non-profits.
  • You want the deepest documentation and the longest track record. Fourteen years, five major versions, over a thousand documentation pages, and a published register of every past security advisory with severity scores — a rare and genuinely admirable practice.

When Total CMS fits better

Total CMS is the better fit when:

  • You would rather write Twig than PHP. Templates are a constrained, readable surface you can hand to a designer without handing over arbitrary code execution — with 130+ custom filters and functions on top of stock Twig.
  • You want the REST API without an upgrade. Total CMS's API reads and writes on every edition for same-origin use; Pro adds API keys for external services.
  • You want AI agents working on the site. A first-party MCP server exposes your collections and schemas to agents over OAuth, and an agent skill plus Cursor rules install with the package. Kirby's MCP server is a community plugin.
  • You want scheduling and webhooks in the box. Automations (Pro) handle cron-style schedules, incoming webhooks, and content events without assembling plugins.
  • You want pages without a build step. Add a page in the Site Builder and it routes immediately — nothing to regenerate or deploy.
  • Your client's revenue disqualifies the cheaper tier elsewhere. Total CMS has no revenue test at any tier; Kirby's €99 Basic requires your client to be under €1 million, and above that the comparison is €349 against $195.

Feature by feature

Total CMS vs Kirby, row by row.

Total CMS compared with Kirby, feature by feature
FeatureTotal CMSKirby
More
Content storage JSON or Markdown files on disk Text files on disk (.txt, .md optional)
Neither uses a database. Kirby maps folders to pages; Total CMS stores objects in collection directories. Kirby's rich-text Blocks field stores JSON inside a text field value, so rich content is less diff-friendly than plain fields.
Database None, ever No
Kirby ships an optional Db class if you want to pull data from MySQL or SQLite. Total CMS has no database layer at all.
PHP version 8.2+ 8.2+
Both track modern PHP closely.
Templating Twig 3, with 130+ custom filters and functions Plain PHP
A real fork in the road, not a feature gap. Plain PHP means no new syntax and no ceiling. Twig means a smaller, safer surface you can hand to a designer without handing over code execution.
Front-end integration Any front end: Twig inside existing PHP pages, any web builder, or headless via REST API Its own templates and routing, or headless via its API
Total CMS can live inside a site you have already built — hand-coded or exported from a web builder: initialize it at the top of any PHP page and Twig tags render inside your own HTML, without it taking over routing or templates. Stacks users also get dedicated stacks for every content type. Kirby is designed to render the site through its own templates and routing, or to run headless over its API.
Content modeling JSON schemas YAML blueprints
Kirby's blueprints also drive the Panel layout per page type, including tabs, columns, and field widths.
Admin interface Included, server-rendered (HTMX) Vue.js single-page app
License Commercial, one-time, per domain Commercial, one-time, per site and domain
Both are proprietary, source-available software. Kirby's license converts to MIT only if no stable release ships for 365 days — a dead-man's switch, not an open-source guarantee.
Price $195 Standard / $395 Pro (one-time) €99 Basic / €349 Enterprise
Kirby's €99 Basic tier requires your (or your client's) total annual revenue or funding to be under €1 million. Total CMS tiers have no revenue test, but they do gate features — Kirby sells one feature set at both prices.
Updates included 2 years 3 years
Kirby includes a longer update window. Both work the same way afterwards: your installed version keeps running, and renewing is optional. Kirby's renewal is €59 Basic / €249 Enterprise for three more years.
Free development use Free on local development domains, plus a 45-day trial Unlimited, for non-public installs
Both are free for development with no time limit. Total CMS is free with every Pro feature on localhost, .localhost, 127.0.0.1 and .test domains — no key or registration — and every license includes two testing subdomains for staging. Kirby's rule is broader: any installation that is not publicly accessible counts, including a protected staging server, and they verify this at renewal.
REST API Same-origin, every edition; external API keys (Pro) Read and write
Total CMS's REST API is available on every edition for same-origin use; the Pro tier adds API keys so external services can authenticate. Kirby's API requires authentication on every request.
Query language Collection filtering in Twig and the REST API KQL (Kirby Query Language)
Neither ships GraphQL. KQL is Kirby's official JSON query endpoint and is MIT licensed.
MCP server for AI agents Built in — public read (Standard), full access (Pro) Community plugin
Kirby does not ship a first-party MCP server; a well-regarded community plugin provides one. Both projects publish an llms.txt for agent-readable docs.
Command-line tool tcms, bundled getkirby/cli, installed separately (MIT)
Scheduled tasks and webhooks Built in (Automations, Pro) Via plugins or your own code
Multi-language content Localized field types (Pro) Built into core
Different approaches to the same job. Kirby keeps a separate content file per language and handles locale routing in core. Total CMS uses locale-keyed field types, so one record holds every translation — several multi-language sites run on it today.
Extension ecosystem Growing, with a simple extension API A large, established plugin directory
Kirby's directory is considerably larger and has had far longer to grow. Total CMS's extension API is small enough that an AI coding agent can scaffold one from the starter repo, and each extension's capabilities are individually permissioned. A marketplace is planned.
Shipping since 2015 2012
Kirby has fourteen years of continuous releases and is on version 5, with version 6 in alpha. Total CMS has shipped since September 2015, first in the Stacks ecosystem and now as a standalone PHP application.

Questions

Common questions.

Are Total CMS and Kirby basically the same thing?

Architecturally they are close cousins: both are commercial, flat-file, no-database PHP content management systems with a one-time per-domain license. The practical differences are the templating language (Twig versus plain PHP), the content modeling format (JSON schemas versus YAML blueprints), the admin architecture (server-rendered versus a Vue single-page app), and how much ships in the box versus through plugins.

Which one is cheaper?

It depends on the tier you would actually buy. Kirby Basic at €99 is the cheaper entry point and includes every Kirby feature — but it requires your client's revenue or funding to be under €1 million. Above that threshold Kirby is €349 Enterprise, against $195 for Total CMS Standard or $395 for Pro. Kirby also includes three years of updates against two for Total CMS. Compare the tier you would actually buy, not the headline price.

Do both really work without a database?

Yes. Both store content as files on disk and need no database server to run. Kirby additionally ships an optional class for reading from MySQL or SQLite if you want to pull in external data; Total CMS has no database layer at all.

Can I migrate from Kirby to Total CMS?

There is no automated Kirby importer today. Total CMS ships importers for Total CMS 1, Alloy, WordPress, CSV, JSON, RSS, and URLs. Because Kirby content is plain text in predictable folders, exporting it to CSV or JSON and importing that is usually straightforward, but expect to script the export yourself.

Is either one open source?

No. Both are proprietary, source-available commercial software that requires a paid license for production use. Kirby's license does include a clause converting its code to MIT if no stable release ships for a full year, which is a safeguard against abandonment rather than an open-source license.

Which is better for working with AI coding agents?

Both publish an llms.txt so agents can read their documentation. Total CMS goes further by shipping a built-in MCP server that lets an agent query a live site's collections and schemas directly, plus an agent skill and Cursor rules installed with the package. Kirby has a capable community MCP plugin, but it is not first-party.

Sources

Where these facts come from.

Kirby facts checked . Software changes, so check Kirby’s own site for their current details.

Kirby details verified from primary sources on 25 July 2026:

Kirby is a trademark of its respective owner. We have no affiliation with Kirby, and we have tried hard to represent it accurately. If anything here is wrong or out of date, tell us and we will correct it.

Try it against Kirby on a site of your own.

45 days, every Pro feature, no credit card.