Umbraco
Umbraco gives you friendly CMS. and with an amazing community on your own infrastructure.
Open-source content management, honestly reviewed. No marketing fluff, just what you actually get when you self-host a 20-year-old .NET CMS.
TL;DR
- What it is: Open-source (MIT) .NET content management system with 500,000+ active installs, backed commercially by Umbraco HQ in Denmark [1][3].
- Who it’s for: Development agencies and enterprises already deep in the .NET/C# ecosystem. Not a tool you hand to a non-technical founder and walk away [4][5].
- Cost savings: The open-source CMS is free. Umbraco Cloud (their managed hosting) starts at $55/month [1]. Self-hosting on your own server is possible but requires genuine .NET developer involvement.
- Key strength: Developer freedom. You can model content structures exactly as you need, integrate with anything in the Microsoft ecosystem, and deploy it on your own infrastructure without calling a vendor for permission [4][5].
- Key weakness: This is a developer-first tool. If you don’t have a .NET developer, you will be stuck. The learning curve is real, self-hosting on Windows Server or .NET-configured Linux is non-trivial, and some useful features (like Umbraco Forms) cost extra on top of the open-source core [1][5].
What is Umbraco
Umbraco is one of the oldest .NET content management systems still actively maintained — it launched in Denmark in 2003, long before “open source CMS” was a crowded category. The GitHub README describes it plainly: “a free and open source .NET content management system helping you deliver delightful digital experiences.” That’s about as un-hyped a pitch as you’ll find [README].
Under the hood, Umbraco is a structured CMS. You define “Document Types” (think: custom content schemas — a News Article type has a Title, Body, Author, Tags), and the backoffice editor gives content teams a clean interface to fill them in. Developers control the schema entirely; editors get a relatively intuitive UI to work within it [1][5].
The project has 5,145 GitHub stars, which looks modest until you notice that Capterra lists 500,000+ active installs worldwide [1][3]. That gap — low GitHub star count relative to deployment scale — tells you something: Umbraco’s user base is largely agencies and enterprise shops shipping client projects, not individual developers pushing stars on repos they find interesting. It’s genuinely production software with a large installed base, just not a darling of the open-source GitHub crowd.
Umbraco HQ (the commercial entity) offers three product tiers: the free open-source CMS (what this review covers), Umbraco Cloud (managed hosting), and Umbraco Heartcore (headless CMS as a service). The open-source core is MIT-licensed, meaning you can deploy it, modify it, and embed it in client projects without a commercial agreement [README].
Why people choose it over WordPress, Contentful, and Ghost
Capterra reviewers (4.1/5 from 21 reviews) land in consistent territory: Umbraco wins on developer control, .NET integration, and content modeling flexibility. It loses on accessibility to non-technical users and setup complexity [1][3].
Versus WordPress. This is the most common displacement. WordPress owns roughly 40% of the web but carries decades of PHP legacy, a plugin ecosystem that ranges from excellent to actively malicious, and a security surface that attracts constant attention. For agencies building client sites in .NET stacks — Microsoft Azure, SQL Server, C# backends — WordPress is an awkward fit. Umbraco slots naturally into that environment. One Capterra reviewer put the contrast plainly: “It’s Powerful .NET-based CMS with the possibility of using the cloud or installing on a local or custom web hosting server” [1]. For teams that live in Visual Studio and Azure DevOps, this is a real quality-of-life difference.
Versus Contentful and other headless SaaS. Contentful starts at a free tier but hits paywalls quickly on API calls, locales, and team features, and your content is locked in their infrastructure. Umbraco self-hosted means the content lives in your database on your server — no vendor lock-in, no API call counting, no per-seat pricing anxiety [4]. For editorial teams that need to stay in one environment and don’t want to manage a React frontend separately, Umbraco’s traditional (coupled) CMS mode is also more approachable than a pure headless setup.
Versus Ghost. Ghost is a better choice if you’re publishing content — a blog, a newsletter, a publication. It’s simpler to self-host, has built-in membership and payments, and deploys cleanly on a $6 VPS with minimal setup. Umbraco is overkill for publishing. Ghost is underpowered for complex web applications or structured enterprise content. They’re solving different problems [5].
The Umbraco Cloud vs. self-hosted question is where developers and non-technical stakeholders most often argue. Fyin.com’s analysis [4] frames it accurately: the CMS is identical in both configurations — there is no feature difference between Cloud and self-hosted Umbraco, only who manages the infrastructure. Cloud makes sense when your team doesn’t want to own DevOps. Self-hosting makes sense when you need custom integrations, enterprise security configurations, or specific regional hosting requirements [4]. This is an unusually honest positioning for a vendor.
Features
Core CMS:
- Document Types — define any content schema you need: fields, validation, allowed child types [README][5]
- Rich media library with folder organization [1]
- Visual grid and block editors for structured page building [README]
- Multi-language and multi-site from a single install [README]
- Granular permission system — roles, groups, content tree restrictions [1]
- Full versioning and rollback on content [README]
- Built-in search via Examine (Lucene-based) [README]
- .NET SDK — every piece of Umbraco is extensible in C# [5]
- Umbraco Marketplace — community packages for extended functionality (similar to WordPress plugins) [5]
What costs extra (not in the free core):
- Umbraco Forms — the drag-and-drop form builder is a paid add-on per license. The Capterra reviewer who specifically praised the form builder [1] was likely using the paid version; the open-source core does not include it.
- Umbraco Deploy — automated content deployment between environments is bundled with Umbraco Cloud but requires a license for self-hosted setups.
- Umbraco Commerce — e-commerce add-on, separately licensed.
This is the part of the Umbraco pitch that trips people up. “Free and open source” is true — the core CMS is MIT. But realistic production deployments at agencies often bolt on Forms (required for nearly any marketing site) and Deploy (required for sane multi-environment workflows), both of which are paid. Budget for this.
Headless option: Umbraco has a built-in Content Delivery API (added in v12+) that exposes content as JSON — meaning you can use it as a headless backend for Next.js, Nuxt, or any frontend framework. Umbraco Heartcore is the managed SaaS version of the same idea. If you want to keep your frontend framework but ditch the expensive headless CMS bill, self-hosted Umbraco with the Content Delivery API is a viable path [4][README].
Pricing: SaaS vs self-hosted math
Umbraco Cloud (their managed hosting):
- Starter: $55/month [1][3]
- Standard and Professional tiers exist at higher price points — the official website returned a 403 during our scrape, so current tier pricing should be verified at umbraco.com/pricing directly.
Self-hosted (open-source core):
- Software: $0 (MIT license) [README]
- Hosting: Windows Server or Linux with .NET 8+ runtime. A Hetzner or Contabo VPS starts at €4–8/month; a managed Windows Server environment costs more.
- Umbraco Forms license: approximately $200–$240/year per site (verify current pricing at umbraco.com — these figures are from the last known pricing; the website was inaccessible during this review).
- Developer time: non-trivial. Unlike WordPress where you can install, pick a theme, and be done, Umbraco requires a developer to define Document Types and build templates before a content editor can do anything useful.
Comparison math for a typical agency client site: Say you’re running three client websites that each need a CMS with forms and multi-environment deployment. On Umbraco Cloud at $55/month each, you’re at $165/month ($1,980/year). Self-hosted on a shared VPS ($10/month total infrastructure), with Forms licenses (~$600–720/year for three sites) and Deploy licenses — you’re looking at roughly $800–900/year in licensing plus hosting. Savings exist, but they’re narrower than people expect once you account for the paid add-ons, and the self-hosted option still requires a developer to maintain it [1][4].
The cost story is much cleaner for agencies billing clients: you build on self-hosted Umbraco, your clients don’t pay SaaS fees, and your agency controls the stack. That’s the actual use case where Umbraco’s economics shine.
Deployment reality check
The README install path is three commands via the .NET CLI — fast if you’re a .NET developer, foreign if you’re not [README]:
dotnet new install Umbraco.Templates
dotnet new umbraco --name MyProject
dotnet run
That gets you a local development instance. Production deployment is a different story.
What you actually need:
- A server running .NET 8+ runtime (Linux is supported; Windows Server is the traditional environment and often simpler for teams without Linux experience) [5]
- A relational database — SQL Server (standard in .NET shops), SQLite for small sites, or PostgreSQL with a community package
- A reverse proxy (nginx or IIS) for HTTPS
- If you’re self-hosting Umbraco Forms and Deploy, active license keys
- CI/CD pipeline if you want sane deployment workflows — Umbraco Deploy handles this but adds cost
What can go sideways:
- Umbraco is not a “deploy once and forget” system. .NET runtime updates, major CMS version upgrades (Umbraco 13 to 14 involved a complete backoffice rewrite to Lit web components), and package compatibility are ongoing maintenance concerns.
- The Appmus analysis [5] notes that “reliance on community packages for some extended functionalities” is a real limitation — the Umbraco Marketplace is smaller than WordPress’s ecosystem, and community packages vary in quality and maintenance status.
- Capterra reviewers (4.1/5, 21 reviews) [1][3] generally praise the platform but the review volume is low relative to the claimed install base, which makes it hard to get a statistical read on where failure modes cluster.
- Self-hosting on Linux requires the .NET runtime properly configured — not impossible, but not the one-click Docker Compose that tools like Activepieces or Gitea offer. There’s no official Docker image in the same “run this and you’re done” category.
Realistic time estimate for a .NET developer: half a day to a working production instance. For a non-technical founder: this is not a solo deployment. You need a developer, full stop.
Pros and cons
Pros
- Genuinely MIT-licensed core. No fair-code restrictions, no “you can self-host but not resell” carve-outs. Agencies can build on it, white-label it, and deploy it for clients without a commercial agreement [README][1].
- Deep .NET integration. If your team is already in the Microsoft stack — Azure, SQL Server, C#, Visual Studio — Umbraco fits without friction. No context-switching to a PHP or Node runtime [5].
- Excellent content modeling. Document Types and the property editor system give developers precise control over content schemas. Complex structured content that would require hacks in WordPress is straightforward in Umbraco [1][5].
- 500,000+ installs. This is production-grade software with 20 years of real-world deployment. It handles enterprise scale [1][3].
- Multi-site and multi-language. Single install, multiple sites with separate domains, language variants — included in the core [README].
- Clean editorial UI. Capterra reviewers consistently praise the editor experience as intuitive for non-technical content teams once a developer has set it up [1][3].
- Cloud vs. self-hosted parity. Same CMS, same features, different infrastructure ownership. No capability gating between editions [4].
Cons
- Not a solo self-host tool. A non-technical founder cannot realistically deploy and maintain self-hosted Umbraco without developer help. This is a recurring implicit reality in every review [4][5].
- Paid add-ons for basic features. Forms, Deploy, and Commerce are all separately licensed. “Free CMS” understates the real cost of a production-ready install [1].
- Smaller ecosystem than WordPress. The Marketplace has packages, but the catalog is a fraction of what WordPress offers. Long-tail integrations often don’t exist [5].
- Windows-first history. Self-hosting on Linux is supported but the documentation and community answers often default to IIS and Windows Server. Linux deployments work; they require more detective work [5].
- Low review volume. 21 Capterra reviews for a claimed 500K-install platform is thin. The 4.1/5 rating is broadly positive but statistically fragile [1][3].
- Upgrade complexity. Major version upgrades (especially v13 → v14 with the backoffice rewrite) have historically required developer time and package compatibility audits. This is not a “click update” platform.
- Not headless-first. The Content Delivery API is relatively recent. If headless is your primary use case, Strapi or Directus offer a more mature headless-native experience at the same price point (free, self-hosted).
Who should use this / who shouldn’t
Use Umbraco if:
- You’re a .NET development agency building client websites and want a CMS that fits your stack without PHP/Node context-switching.
- Your organization is already on Microsoft Azure and SQL Server — Umbraco is a natural fit.
- You need precise content modeling (complex structured content, multi-site, multi-language) and have a developer who can set up Document Types properly.
- You want MIT licensing with genuine freedom to deploy, modify, and build commercial products on top.
- Your content editors need a clean, intuitive backoffice and you have a developer who can configure it for them.
Skip it (pick WordPress) if:
- You need the largest possible plugin ecosystem and are willing to manage the security surface that comes with it.
- You have no .NET developer and need to deploy and configure the CMS yourself.
- You’re publishing content (blog, newsletter) — Ghost or WordPress are simpler.
Skip it (pick Ghost) if:
- You’re a founder running a content business — newsletter, membership, publication. Ghost deploys in 30 minutes and handles payments natively.
Skip it (pick Strapi or Directus) if:
- Your primary use case is headless CMS feeding a React/Next.js/Nuxt frontend. Both are headless-native, self-hostable, and have better developer experience for API-first architectures.
Skip it (stay on Umbraco Cloud) if:
- You have budget for the managed tier and no appetite for DevOps. The self-hosted path only makes sense if you have the developer resources to own it [4].
Alternatives worth considering
- WordPress — the most-deployed CMS on earth. PHP-based, massive plugin ecosystem, better solo self-host experience. The security burden is real but manageable with proper hosting.
- Ghost — best choice for content-first sites (blogs, newsletters, memberships). Deploys in under an hour on a VPS. Not a fit for complex structured content or multi-site.
- Strapi — headless-first, Node.js, MIT-licensed, stronger developer experience for API-driven architectures. Better than Umbraco for headless if you don’t need the .NET ecosystem.
- Directus — similar to Strapi. Headless, self-hostable, wraps any SQL database. Good for teams that want a data studio, not just a CMS.
- Craft CMS — often mentioned alongside Umbraco for agency work. PHP-based, excellent content modeling, not open source (paid license), strong templating system.
- Wagtail — the Python equivalent of Umbraco. Django-based, used by NASA and Google, MIT-licensed, good for teams already in the Python stack.
Bottom line
Umbraco is a solid, mature CMS with a genuine MIT license and 20 years of production deployment behind it. For .NET development agencies, it’s a natural choice — it integrates cleanly with the Microsoft stack, gives developers precise content modeling control, and lets editors work in a reasonably clean backoffice UI. The free core is genuinely free, though realistic production deployments almost always need Forms and Deploy, which cost extra.
The important caveat for unsubbed.co’s core audience — non-technical founders looking to escape SaaS bills — is that Umbraco is not a self-service tool. You cannot deploy it, configure it, and maintain it without a .NET developer. If you have one, the economics of self-hosting versus Umbraco Cloud ($55+/month) make sense over time. If you don’t, this is a bill you’re trading for a hiring problem. Look at Ghost, WordPress, or Strapi first depending on your use case. If the deployment complexity is the blocker and you’re already committed to Umbraco, that’s the kind of one-time setup work upready.dev handles for clients.
Sources
- Capterra Ireland — Umbraco CMS Pricing, Cost & Reviews (21 reviews, 4.1/5). https://www.capterra.ie/reviews/210590/umbraco-cms
- UK Hosting ASP.NET — Best & Cheap Umbraco 10.3.2 Hosting in Europe. https://ukhostingasp.net/best-cheap-umbraco-10-3-2-hosting-in-europe/
- Capterra Israel — Umbraco CMS Price, Reviews & Ratings (21 reviews, 4.1/5). https://www.capterra.co.il/reviews/210590/umbraco-cms
- Fyin.com — Umbraco Cloud vs. Self-Hosted: Honest Dev Advice (August 5, 2025). https://www.fyin.com/blog/is-umbraco-cloud-right-for-you-the-one-difference-that-actually-matters/
- Appmus.com — Umbraco vs uCoz Comparison (2026). https://appmus.com/vs/umbraco-vs-ucoz
Primary sources:
- GitHub repository and README: https://github.com/umbraco/Umbraco-CMS (5,145 stars, MIT license)
- Official website: https://umbraco.com (returned HTTP 403 during scrape — pricing figures should be verified directly)
Category
Related Content Management Tools
View all 124 →Strapi
72KThe leading open-source headless CMS — design content models, generate REST and GraphQL APIs instantly, and manage content for any frontend framework.
Ghost
52KProfessional publishing platform with built-in newsletters, memberships, and paid subscriptions. Used by Platformer, 404Media, The Browser, and thousands more.
Payload CMS
41KPayload is a Next.js-native headless CMS and application framework that gives developers full TypeScript control over content management with zero vendor lock-in.
Reactive Resume
36KA free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume.
Directus
35KBuilt for developers who need more than a CMS. Manage complex content, handle digital assets, and control permissions through an intuitive Studio.
WordPress
21KThe world's most widely used content management system powering blogs, business sites, and e-commerce stores.