Why choose Umbraco: the case for a .NET CMS in 2026

Headless gets the attention, but Umbraco still wins a specific and sizeable set of projects outright — on licence cost, on what editors can do without a developer, and on the one requirement no headless vendor can satisfy at any price.

Web Development8 min readPortrait of Oybek Khalikovic, CTO at Karve DigitalBy Oybek Khalikovic
Isometric blueprint illustration: one wide cyan-edged base slab carrying three identical smaller blocks, each linked by a fine line to its own endpoint node, with a cyan spine tying all three back to a single root — one installation serving three brands.

It is easy to read the headless discourse and conclude that a traditional CMS is a legacy decision. That is wrong, and expensively so. When we costed Umbraco against headless Sanity and Next.js across three project shapes, Umbraco lost on total cost for a bilingual marketing site — and won outright on four conditions that no amount of headless spend can buy.

We build both, so this is the honest case for Umbraco, counterweight included. The neutral numbers are in the three-year cost comparison, and the opposite argument is in the case for Sanity and Next.js.

The licence is genuinely free, and that is rarer than it sounds

Umbraco core is MIT-licensed. Commercial use is permitted, there is no per-server fee, and — the part that matters most in practice — there is no per-seat fee. Unlimited team members on every Umbraco Cloud plan, including the €45 Starter.

Put that next to seat-priced alternatives and the arithmetic is stark. Twenty editors cost €0 extra on Umbraco Cloud and $300 a month on Sanity Growth. For a marketing department, a franchise network or a university with dozens of occasional contributors, seat pricing is the single line that decides the platform — and Umbraco simply does not have it.

Getting from nothing to a running CMS is also genuinely fast:

quickstart.sh
dotnet new install Umbraco.Templates
dotnet new umbraco --name MySite \
  --friendly-name "Administrator" \
  --email admin@example.com \
  --password 1234567890
cd MySite && dotnet run

That is a working backoffice with users, roles, media, versioning and a content tree — on a free licence, on Linux, in under five minutes. Nothing in the headless world gets you an editor-ready CMS that fast, because in the headless world the editing experience is something you build.

Editors can do their own work

This is Umbraco's strongest argument and it is not really about money. A traditional CMS ships the entire editorial toolkit; a headless CMS ships a schema language you use to construct one.

What ships without a developer
CriterionUmbraco self-hostedUmbraco CloudTypical headless stack
Hierarchical content treeCustom structure
Users, roles and permissionsPlan-gated
Versioning, rollback and audit trailRetention limits
Redirects when a page is renamedURL trackerURL trackerCustom build
Media library with croppingDAM is enterprise
Form builder for editors$130/yrIncludedCustom build
Visual drag-and-drop layout editorBlock GridBlock GridOrdered list
Multi-stage approval workflow$3,250/yr$3,250/yrComments and tasks
Unlimited editor seatsPer seat
Managed hosting, CDN, WAF and TLSYou supplyBundledBundled
Automatic minor CMS upgradesManualAutomaticVendor-managed
Umbraco Cloud is highlighted because it is the configuration where the free-capability argument is strongest: Forms, Deploy and the managed platform arrive together.

The forms argument, specifically

Umbraco Forms is included free on every Cloud plan — verified on umbraco.com/pricing, where Forms and Deploy show as included on Starter, Standard, Professional and Enterprise, and as paid add-ons only on the free self-hosted CMS. Self-hosted it is $130 a year. Editors build and change forms themselves, submissions land in the backoffice, and workflows push to email or a CRM.

A headless stack has no form builder. On our own site, a contact form meant a form block, an API route, reCAPTCHA verification, a Slack webhook for leads, Redis-backed rate limiting, a honeypot and a same-origin check — and adding one field still requires a developer and a deploy. That is five to ten developer days of build, plus a permanent bottleneck every time marketing wants a new landing-page form. If your client's team changes forms monthly, Umbraco has already won.

Multi-brand estates are dramatically cheaper self-hosted

One Umbraco installation can serve many sites: multiple content roots, hostname routing, one database, one shared editor pool, one free licence.

One self-hosted Umbraco installation serving three brands from a single database and licence.

Ten near-identical brand sites cost €0 in licence fees this way. The headless equivalent is ten separately billed projects. But be precise about which Umbraco: Umbraco Cloud is billed per project and the vendor recommends one site per project, so the same ten brands there are €2,800 a month — the worst of the three options. The multi-brand argument belongs to self-hosting only, and it is paid for in operations labour.

The one requirement only Umbraco can satisfy

Data residency. If a client's contract says content must live in the UAE, or on their own hardware, self-hosted Umbraco on Azure UAE North or an on-premises server is the only option in this entire comparison that complies.

  • Vercel has no Middle East region among its priced regions, so Gulf traffic is served from Frankfurt or Mumbai.
  • Sanity publishes no data-residency options at all.
  • Self-hosted Umbraco lets you choose the region, run on-premises, and hold the database yourself. Azure UAE North exists and prices roughly 10 to 30 per cent above West Europe.

No amount of spend on the headless side fixes this. For regulated clients, government-adjacent work, or anyone whose procurement team asks where the data sits, this is not a preference — it is the answer, and it ends the evaluation.

You also own the exit

Self-hosted Umbraco has the lowest theoretical lock-in of any option here: the CMS is MIT-licensed and the SQL database is yours, with free tooling for schema and content serialisation. The caveat is that content is stored in an Umbraco-specific relational schema with block content held as property-editor JSON, so a clean extraction is still bespoke work. Custody is not the same as portability — but custody matters when the question is whether you can get your data out at all.

Where Umbraco costs you, honestly

An advocacy piece that skips this is marketing. Five things we would flag to any client before recommending it.

  1. Multilingual authoring is weaker. Block-level culture variance only arrived in version 15, and block structure stays invariant across languages, so reordering blocks in English reorders them in Arabic. The backoffice has no right-to-left layout and ships no Arabic culture file — 28 languages in 17.7.0, Hebrew included, no Arabic. Arabic-first editors author in a left-to-right English admin.
  2. No preview of a decoupled front end. Umbraco previews its own templates, which is excellent when Umbraco renders the site and worthless when a separate front end does. Click-to-edit against an external app is eight to fifteen developer days to build yourself.
  3. No AI content layer. There is no Umbraco equivalent to field-level AI translation or content agents at any price. On a 150-document bilingual site that is the difference between roughly $40 of metered credits and roughly $7,200 of human translation.
  4. Add-ons and an annual escalator. Forms, Deploy, Workflow, Engage, Commerce and UI Builder are separately licensed, some per domain. Prices rise 5 to 7 per cent every January for new and existing customers, and annual billing is exactly twelve times monthly, so paying up front buys no discount.
  5. A forced upgrade cadence. Two majors a year; non-LTS majors live twelve months. Version 14 replaced the AngularJS backoffice with Lit and TypeScript, so every backoffice extension had to be rebuilt rather than migrated — reported 13-to-17 effort runs from two hours to twelve weeks depending almost entirely on how much custom backoffice code you carry.

If you are on Umbraco 13, act now

Two deadlines, five weeks apart, and most upgrade plans only account for one. Umbraco 13 security patches end 14 December 2026; the .NET 8 runtime beneath it loses Microsoft support on 10 November 2026. Extended support is published for version 13 in 6, 12 and 24 month options, and it does not extend .NET 8 support — so it defers the CMS deadline while leaving you on an unsupported runtime. Land on 17 LTS, not on 13 and not on a non-LTS major.

So when is Umbraco the right answer?

Any one of these is sufficient on its own. They are constraints more than preferences, which is why they are decisive.

  1. A data-residency or on-premises clause. The only compliant option here.
  2. Editors who must build and change their own forms without a developer in the loop.
  3. A large or fluctuating editorial team where per-seat pricing would dominate the bill.
  4. A client .NET mandate, or an internal IT team that will inherit the site and only has .NET capability. Umbraco developers are also cheaper per head — UK medians of about £55,000 permanent and £363 a day contract, against £66,500 and £530 for Next.js.
  5. Ten or more near-identical brand sites you will self-host, where one install and one database beat N separate projects.

One caveat on that fourth point, because it cuts both ways: the UK contract market showed roughly 177 Next.js advertisements against 2 for Umbraco. Umbraco is cheaper per head and much harder to backfill. If one developer holds all the knowledge of an Umbraco build, that is a real continuity risk to plan around — with documentation, a second pair of hands, or a support contract.

We do Umbraco development in Dubai, including upgrades off end-of-life versions, and we migrate sites onto Umbraco when it is the right destination. If you are weighing it against headless, the cost comparison has the numbers with their sources, and how to choose a web development agency covers the questions to ask whoever quotes you.

Questions
Is Umbraco a good CMS in 2026?

For the right project, yes — and it is stronger than its reputation among teams who only follow headless. It is MIT-licensed and free for commercial use with no per-seat fee, it ships a complete editor toolkit out of the box, its form builder lets editors create forms without a developer, and self-hosting it is the only way to satisfy a strict data-residency or on-premises requirement. Where it is weak is multilingual authoring, preview of a decoupled front end, and AI-assisted content work.

How much does Umbraco cost?

The CMS costs nothing — it is MIT-licensed with no per-server or per-seat fee. Umbraco Cloud, the managed option, is billed per project at €45 a month on Starter, €280 on Standard and €730 on Professional. Self-hosted, the realistic infrastructure floor is around $22 to $44 a month on a small virtual server, and the commercial add-ons are separate: Forms from $130 a year, Deploy and Workflow at $3,250 a year, Engage from $950 to $22,500. Separate again is Umbraco's SaaS line — Heartcore, the headless CMS, and Compose, a content-orchestration platform starting at €12,000 a year — which is aimed at a different buyer entirely.

Do I need to pay for Umbraco Forms?

On Umbraco Cloud, no — Forms is included free on every plan, including the €45 Starter. Self-hosted it is $130 a year, plus about $85 a year per additional production domain. One change to watch: the one-off perpetual Forms licence is discontinued from Forms 17, so a cost paid once becomes a recurring subscription purely as a side effect of upgrading, and sale of the perpetual licence stops on 14 December 2026.

Which Umbraco version should we build on?

Umbraco 17, the current long-term support release, with security coverage to 27 November 2028. Avoid non-LTS majors: versions 14, 15 and 16 each received nine months of support plus three months of security fixes and died within a year. Avoid starting anything new on Umbraco 13 — its security patches end on 14 December 2026, and the .NET 8 runtime beneath it loses Microsoft support on 10 November 2026, five weeks earlier.

Can Umbraco run on Linux?

Yes. Modern Umbraco runs on .NET and is officially supported on Linux, which matters because Azure App Service charges roughly two to four times more for identical Windows specs — B1 is about $54.75 a month on Windows against $13.14 on Linux. Officially supported databases are SQL Server and SQLite; PostgreSQL is not supported. If you stay on Linux you also avoid Windows Server licensing entirely.

Is Umbraco better than a headless CMS for multilingual sites?

Generally not, and this is the clearest place it loses. Block-level culture variance only arrived in Umbraco 15, block structure stays invariant across languages so reordering blocks in English reorders them in Arabic, and the backoffice has no right-to-left layout and ships no Arabic culture file at all — 28 languages in 17.7.0, including Hebrew, and no Arabic. Arabic-first editors would author in a left-to-right English admin.

Talk to the people
who wrote this.

Let's Talk
Start a project