Migration

Umbraco 13 reaches end of life on 14 December 2026: upgrade to 17 or move to Sanity?

Short answer

Umbraco 13 reaches end of life on 14 December 2026; the in-place upgrade is Umbraco 17 LTS (long-term support), which Umbraco lists as security-only from 27 November 2027 and end of life 27 November 2028 (Umbraco, schedule, October 2026). Umbraco 14 removed AngularJS, Nested Content and Grid Layout (Umbraco, October 2026), so price Sanity when that upgrade rebuilds your backoffice.

Umbraco 13 end of life
14 December 2026No security patches or updates after that date; sites keep running, and Umbraco strongly advises against running themSources: Umbraco (Umbraco 13 End-of-Life (EOL), Long-term Support and End-of-Life for Umbraco)
Umbraco 17 LTS
End of life 27 November 2028Released 27 November 2025 on .NET 10, security fixes only from 27 November 2027, as Umbraco lists itSources: Umbraco (Long-term Support and End-of-Life for Umbraco); Umbraco Documentation (Upgrade Your Project)
Umbraco 13 XLTS
6, 12 or 24 months, quoted on requestSecurity patches only, starting the day after end of life, delivered through a private NuGet feed; Umbraco publishes no priceSources: Umbraco (Extended Long-Term Support for Umbraco 13, Umbraco 13 End-of-Life (EOL))
Sanity Growth plan
$15 per seat a month, billed monthlyUmbraco CMS itself is free and open source; Sanity's Enterprise plan is custom pricing, as of October 2026Sources: Sanity (Plans that scale with you, Sanity for Startups); Umbraco (umbraco/Umbraco-CMS on GitHub)

Deploi’s call

Upgrade a clean Umbraco 13 site to Umbraco 17 before 14 December 2026: the deadline forces a version upgrade, not a new CMS. Price Sanity only when the upgrade audit shows you're rebuilding the backoffice anyway, or when one content model must feed several channels. Then you're comparing two rebuilds, and that comparison is fair.

UpgradeUpgrade Umbraco 13 to Umbraco 17 when

  • Your backoffice has few or no AngularJS extensions, so Umbraco 14's rewritten backoffice costs you little.
  • Your content already sits in Block List or Block Grid, Umbraco's block editors, not in Nested Content, Grid Layout or macros, which Umbraco's docs say Umbraco 14 removed.
  • One website rendered by your .NET (Microsoft's development platform) team is the main channel, or Umbraco's Content Delivery API (application programming interface) covers the others.
  • Policy requires you to host the content database, because Sanity hosts the Content Lake and only Sanity Studio can be self-hosted.

SanityReplatform from Umbraco to Sanity when

  • Custom AngularJS editors and dashboards would be rewritten for Umbraco 14 and later anyway, so the editing layer is new on either path.
  • The same content feeds several sites, apps or brands from one content model.
  • Your front end is moving to a JavaScript framework and your developers work in TypeScript and React, which is what Sanity Studio runs on.
  • You accept per-seat fees, because Umbraco's open-source core is free but Sanity charges per seat from its Growth plan up, as of October 2026 (Sanity pricing).

What does Umbraco 13's end of life on 14 December 2026 change?

Umbraco 13's end of life on 14 December 2026 ends security patches and updates; the site keeps running, against Umbraco's strong advice (Umbraco, Umbraco 13 End-of-Life, October 2026). From 24 October 2026, 51 days remain (Deploi arithmetic from Umbraco's dates). Umbraco 18 can't upgrade from Umbraco 13, so Umbraco 17 is the landing point (Umbraco Docs, Find Your Upgrade Path; Breaking Changes Overview, October 2026). Umbraco 13's runtime, .NET (Microsoft's development platform) 8, loses support sooner, on 10 November 2026 (Microsoft, October 2026); the deadline calendar lists both.

Umbraco 17 is the only supported long-term release after 14 December 2026
Umbraco versionRelease typeReleasedSecurity fixes only fromEnd of life
Umbraco 13LTS14 December 202314 December 202514 December 2026
Umbraco 17LTS27 November 202527 November 202727 November 2028
Umbraco 18STS25 June 202625 March 202725 June 2027
Umbraco 19STS10 December 202610 September 202710 December 2027
Umbraco 21LTS9 December 20279 December 20299 December 2030
LTS (long-term support) and STS (standard-term support) are Umbraco's terms. Umbraco 19 and 21 are scheduled, not shipped.Sources: Umbraco (Long-term Support and End-of-Life for Umbraco, Umbraco 13 End-of-Life (EOL)). As of 24 October 2026.

What does upgrading Umbraco 13 to Umbraco 17 involve?

Upgrading Umbraco 13 to Umbraco 17 is an in-place NuGet upgrade that also moves your project from .NET (Microsoft's development platform) 8 to .NET 10 (Umbraco Docs, Upgrade Your Project, October 2026). The work sits in the releases you cross on the way (Umbraco Docs, Find Your Upgrade Path, October 2026):

  • Umbraco 14 removed AngularJS from the backoffice, so every AngularJS property editor, dashboard or package extension is rewritten; the new backoffice is built with TypeScript, Web Components and Lit (Umbraco blog, October 2026).
  • Umbraco 14 also removed Nested Content, Grid Layout, the legacy Media Picker and macros. Umbraco recommends rebuilding them with Block Grid or Block List.
  • Umbraco 15 changed the Block Editor data format, and the content migration "can take a while" on a large site, which stays unresponsive while it runs.
  • Umbraco 16 removed the TinyMCE option of the Rich Text Editor, which is now built on Tiptap (Umbraco Docs, Rich Text Editor, October 2026).

A site built on Block List, Block Grid and the built-in editors carries little of this list. A site with years of custom AngularJS backoffice code carries most of it (Deploi's judgment).

Should an Umbraco 13 site upgrade in place or rebuild on Umbraco 17?

An Umbraco 13 site should upgrade in place when it's healthy and well understood, and rebuild on Umbraco 17 when it carries legacy backoffice code; that's Umbraco's own split (Umbraco blog, Going from Umbraco 13 to 17, October 2026). Umbraco names two paths:

  • In place. Upgrade the existing solution and run the migrations.
  • Fresh build. Build a fresh Umbraco 17 solution and move content and schema with Umbraco Deploy's import and export.

Umbraco's blog goes further: "For most cases, it makes more sense to build fresh on Umbraco 17." Read that as vendor opinion, because the same post sells Umbraco Cloud, which includes Umbraco Deploy with every plan.

The split matters for a Sanity decision because it changes what you compare. An in-place upgrade against a Sanity migration is lopsided: one keeps your content model, views and hosting, the other replaces all three. A fresh Umbraco 17 build against a Sanity build is two rebuilds of the editing layer, which is where the cost of moving comes closest to the cost of staying (Deploi's judgment).

When does replatforming from Umbraco to Sanity win?

Replatforming from Umbraco to Sanity wins when you're rebuilding the backoffice anyway and one content model has to feed several channels. Going headless isn't a reason on its own, because Umbraco 13 and 17 ship an opt-in Content Delivery API (application programming interface) that serves content as JSON (Umbraco Docs, Content Delivery API; current version, October 2026). Sanity Studio, Sanity's editing app, is an open-source React app that connects to Sanity's hosted APIs and Content Lake (Sanity Docs, Hosting and deployment, October 2026).

Three situations favor the move:

  • Custom AngularJS editors, dashboards or Grid Layout pages make Umbraco 17 a rebuild too.
  • The same content feeds several sites, apps or brands, which is the case for running several sites from one content platform.
  • Your front end is moving to a JavaScript framework, and your team wants rich text as Portable Text, a JSON rich text format. Umbraco's Rich Text Editor returns HTML (Umbraco Docs, October 2026), and its Content Delivery API outputs HTML unless you enable RichTextOutputAsJson (Umbraco Docs, October 2026).

When should you stay on Umbraco, buy XLTS, or pick a CMS other than Sanity?

Stay on Umbraco when the upgrade audit is small or policy says you host the content database, because Sanity hosts it and you can't self-host the Content Lake (Sanity Docs, Studio development, October 2026). Buy Extended Long-Term Support (XLTS) only to bridge a funded plan: 6, 12 or 24 months from the day after end of life, security patches only, quoted on request (Umbraco, Umbraco 13 XLTS, October 2026). Umbraco Heartcore is Umbraco's hosted headless content management system (CMS) (Umbraco, Heartcore, October 2026).

Four answers to Umbraco 13's end of life
VerdictWhat you doWhen it wins
UPGRADEUpgrade to Umbraco 17 in place with NuGetFew AngularJS extensions, content in Block List or Block Grid
WAITBuy XLTS for 6, 12 or 24 monthsA funded rebuild can't launch by 14 December 2026
ELSEWHEREMove to Umbraco Heartcore or a self-hosted CMSYou want a hosted Umbraco editor, or must self-host and leave Umbraco
SANITYReplatform to SanityThe backoffice is a rebuild anyway and content feeds several channels
Sources: Umbraco (Umbraco 13 End-of-Life (EOL), Extended Long-Term Support for Umbraco 13, Umbraco Heartcore); Umbraco Documentation (Find Your Upgrade Path); Sanity Docs (Studio development). As of 24 October 2026.

What changes for Umbraco editors and .NET developers on Sanity?

Umbraco editors move from Umbraco's backoffice to Sanity Studio, and .NET (Microsoft's development platform) developers move to JavaScript or TypeScript, because you configure Sanity Studio in code (Sanity Docs, Configuration, October 2026). Three things change for the team:

  • Where the content model lives. Document Types, Element Types and Block List blocks become Sanity document and object types, defined in code instead of in the backoffice.
  • What renders the site. The front end reads content from Sanity's APIs (application programming interfaces) instead of Umbraco; whether a .NET back end can keep reading it is answered in Sanity with PHP, .NET or Java.
  • Who can publish. Sanity's Growth plan has five fixed roles, including a Contributor who "Can write but not publish documents" (Sanity Docs, Roles, October 2026). Anything finer needs custom roles, which are Enterprise only as of October 2026 (Sanity pricing).

The Umbraco to Sanity playbook maps each Umbraco user group, Document Type and block to its Sanity equivalent, so the mapping lives there.

How do you compare the cost of staying on Umbraco with the cost of moving to Sanity?

Compare staying on Umbraco with moving to Sanity driver by driver, over the same horizon: Umbraco 17's end of life on 27 November 2028, about two years after Umbraco 13's (Deploi arithmetic from Umbraco's schedule, October 2026). Umbraco's open-source core is free (Umbraco on GitHub, October 2026), but add-ons such as Umbraco Forms are paid (Umbraco, Umbraco Forms, October 2026). Sanity's Growth plan costs $15 per seat a month, billed monthly, as of October 2026 (Sanity pricing).

Cost drivers of staying on Umbraco against moving to Sanity
Cost driverStaying on UmbracoMoving to Sanity
Backoffice codeAngularJS extensions rewrittenRebuilt in Sanity Studio
Front end and URLsKeptNew front end; a redirect for every URL that changes
Software feesCore free; add-ons and Extended Long-Term Support (XLTS) paidGrowth per seat, or Enterprise
Next forced eventUmbraco 17 end of life, 27 November 2028 (security-only from 27 November 2027)Old API (application programming interface) versions retired with notice
Sources: Umbraco (Long-term Support and End-of-Life for Umbraco, Extended Long-Term Support for Umbraco 13, umbraco/Umbraco-CMS on GitHub, Umbraco Forms); Umbraco Documentation (Find Your Upgrade Path); Sanity (Plans that scale with you); Sanity Learn (Re-modelling your existing content); Sanity Docs (API Versioning). As of 24 October 2026.

Deploi’s point of view

Where we disagree
Two standard answers are wrong. The first says you must leave Umbraco to go headless; Umbraco 13 and 17 already ship a Content Delivery API that serves content as JSON. The second says 13 to 17 is a rebuild for everyone; Umbraco documents an in-place NuGet upgrade, and the rebuild case depends on how much AngularJS backoffice code and how many removed editors your site carries.
What we'd tell you to do first
Before any replatforming talk, inventory the backoffice: every AngularJS property editor, dashboard and package, and every use of Nested Content, Grid Layout and macros. That list is the size of staying. Then count Document Types, Element Types and Block List blocks, which is the size of moving.
What we refuse to promise
We won't quote hours or a timeline for an Umbraco to Sanity move from a call, because each estimate starts from your own extensions, editors and Document Types. Our view of Umbraco rests on its documentation and public sources.

When this answer changes

  • Umbraco moves Umbraco 13's 14 December 2026 end of life or changes its XLTS terms
  • Umbraco 19 ships, or slips from 10 December 2026
  • Umbraco changes Umbraco 17's 27 November 2028 end of life or the 9 December 2027 date for Umbraco 21
  • Sanity publishes an Umbraco migration guide, course or skill reference
  • Sanity changes Growth's $15 per seat price or offers custom roles below Enterprise

Sources

Every source opened and checked on 25 October 2026.

  1. Umbraco, Umbraco 13 End-of-Life (EOL)umbraco.com · checked 24 October 2026
  2. Umbraco, Long-term Support and End-of-Life for Umbracoumbraco.com · checked 24 October 2026
  3. Umbraco, Extended Long-Term Support for Umbraco 13umbraco.com · checked 24 October 2026
  4. Umbraco Documentation, Find Your Upgrade Pathdocs.umbraco.com · checked 24 October 2026
  5. Umbraco Documentation, Upgrade Your Projectdocs.umbraco.com · checked 24 October 2026
  6. Umbraco, Going from Umbraco 13 to 17umbraco.com · checked 24 October 2026
  7. Umbraco, umbraco/Umbraco-CMS on GitHubgithub.com · checked 24 October 2026
  8. Umbraco Documentation, Content Delivery API (Umbraco 13)docs.umbraco.com · checked 24 October 2026
  9. Umbraco Documentation, Content Delivery APIdocs.umbraco.com · checked 24 October 2026
  10. Umbraco Documentation, Rich Text Editordocs.umbraco.com · checked 24 October 2026
  11. Umbraco, Umbraco Heartcoreumbraco.com · checked 24 October 2026
  12. Umbraco, Umbraco 14 Release Candidateumbraco.com · checked 24 October 2026
  13. Umbraco Documentation, Breaking Changes Overviewdocs.umbraco.com · checked 24 October 2026
  14. Sanity, Plans that scale with yousanity.io · checked 24 October 2026
  15. Sanity, Sanity for Startupssanity.io · checked 24 October 2026
  16. Sanity Docs, Hosting and deploymentsanity.io · checked 24 October 2026
  17. Sanity Docs, Studio developmentsanity.io · checked 24 October 2026
  18. Sanity Docs, Rolessanity.io · checked 24 October 2026
  19. Sanity Learn, Re-modelling your existing contentsanity.io · checked 24 October 2026
  20. Sanity Docs, Configurationsanity.io · checked 24 October 2026
  21. Sanity Docs, API Versioningsanity.io · checked 24 October 2026
  22. Umbraco, Umbraco Formsumbraco.com · checked 24 October 2026
  23. Microsoft, Microsoft .NET and .NET Core lifecyclelearn.microsoft.com · checked 24 October 2026