// the find
PiranhaCMS/piranha.core
Piranha CMS is the friendly editor-focused CMS for .NET that can be used both as an integrated CMS or as a headless API.
Piranha CMS is a .NET 8 CMS framework that lets you build content-managed sites either with its integrated MVC/Razor Pages frontend or as a pure headless API. It targets .NET developers who want structured content management without the complexity of Umbraco or the opinionated lock-in of Orchard Core. The manager UI is built-in and ships with a local auth module you can swap out.
The attribute-based content type system (`[PageType]`, `[PostType]`, `[Region]`) lets you define your content model in C# classes and have the manager UI derive from them — no separate schema file, no migrations you didn't write. The localization coverage is serious: 30+ languages for the manager UI, maintained via Crowdin. Storage and image processing are properly abstracted behind interfaces, so swapping Azure Blob Storage for local file storage is a config change, not a rewrite. The project is .NET Foundation-backed and has been around long enough that the sharp edges are mostly filed off.
It's pinned to .NET 8, not .NET 9 or 10 — if you're on the latest SDK this creates a version mismatch and you'll need to pin down. The manager frontend is a Vue 2 SPA, which is end-of-life; Vue 2 stopped receiving security updates at the end of 2023, so any site that exposes the manager publicly is running a deprecated frontend stack. The block editor (the inline page editor) is functional but visually dated compared to what editors expect from modern CMS tools. Documentation gaps are real — the official docs cover the happy path well but anything non-standard (custom auth providers, multi-tenancy edge cases, headless with complex permissions) sends you to GitHub issues or source code.