OnLTS
End of life: December 14, 2026

Umbraco 13 reaches end of life on December 14, 2026.

I upgrade your site to Umbraco 17, the LTS release supported until November 2028, for a fixed price. That includes the new backoffice, the community packages and the content model, delivered as a pull request.

What stands between Umbraco 13 and 17

  • End of life on December 14, 2026, and the .NET 8 runtime under Umbraco 13 loses security patches on November 10, 2026. Umbraco 17 runs on .NET 10.
  • A new backoffice. AngularJS was removed in Umbraco 14. Custom dashboards, property editors and block views have to be rebuilt as Web Components.
  • Community packages need a release built for the new backoffice. Some still have none.
  • Removed editors. Nested Content, Grid Layout, the legacy Media Picker and macros are gone, and TinyMCE is replaced by Tiptap in 16.
  • Code changes across four major versions: System.Text.Json, the Management API, no XPath, no snapshots, dates in UTC.

Sources: Umbraco LTS and end of life · Upgrade path from 13 · Breaking changes 14 to 17

Fixed price, three sizes

Prices in USD, paid through Upwork. You know the full cost before anything starts.

Every tier includes

  • Solution moved to .NET 10 and Umbraco 17, packages updated or replaced
  • Code changes for Umbraco 14 to 17: controllers, serialization, XPath, snapshots, Examine, settings
  • AngularJS backoffice extensions rebuilt as Web Components (by tier)
  • Content model moved to blocks: Nested Content, Grid Layout, legacy Media Picker, macros (by tier)
  • Upgrade run and timed against a copy of your database, with notes for go-live
  • 14 days of fixes for anything the upgrade caused
Starter

Clean site

US$990

Delivery in 7 days from access.

  • Up to 3 projects, no custom AngularJS backoffice code
  • Every package already has an Umbraco 17 release
  • No Nested Content, Grid Layout or macros in use
  • 1 revision
Order clean site
Advanced

Complex site

US$3,490

Delivery in 25 days from access.

  • Up to 8 AngularJS extensions rebuilt
  • Grid Layout to Block Grid, macros inside content, package replacements
  • Content migration timed on a production-sized copy
  • 3 revisions
Order complex site

Delivery in business days from access. If your code turns out bigger than the tier you bought, I tell you before starting and you choose: pay the difference or get a full refund.

Not included

  • Deploying to your servers, touching production or the production database
  • Licenses for paid packages or products (Umbraco Forms, Umbraco Deploy and similar)
  • Front-end redesign or new features
  • Umbraco 7 and 8 sites on .NET Framework (quoted separately)

How I work

Everything happens in writing, on your schedule. A 15-minute call is available if you want one, never required.

  1. Read-only access. Add a read-only collaborator on GitHub, Azure DevOps or GitLab, or send a zip. No production credentials and no secrets.
  2. The work gets done. A set of AI coding agents does the scanning, the code changes and the test runs. I review every change and sign off before you see it.
  3. You get a pull request. With notes on what changed, what to watch on deploy and the results of your own tests. Without write access, you get a patch file.
  4. You deploy. I never touch production: no deploys, no production databases, no infrastructure changes. You merge and release when it suits you.

The job is accepted when the solution builds and your existing tests pass. Tests that already failed before are listed in the notes and stay out of scope. No automated tests? We agree on a short smoke checklist before I start, and that becomes the acceptance criterion.

Free first step: check your solution yourself

Umbraco17Check is a free command-line tool. It shows which of your packages already support Umbraco 17 and which block the upgrade, how much AngularJS backoffice code you have, which content model features need migrating and which breaking changes your code hits. It runs locally and uploads nothing.

dotnet tool install -g Umbraco17Check
umbraco17-check

If the report is short, you can probably do it in-house. If it is long, send it to me and I will tell you, for free, which tier fits. Message me on Upwork.

FAQ

Can we go straight from 13 to 17?

Yes. Umbraco documents a direct path from the latest 13.x to the latest version. I upgrade to the latest 13.x first, then to 17, on a copy of your database.

How do you work with our content?

I run the upgrade against a database backup you provide, never against production. The content migrations are timed there so you know how long the go-live window needs to be.

A package we use has no Umbraco 17 version.

I tell you before starting, with the options: a replacement package, rebuilding the part you use, or waiting. If rebuilding goes beyond your tier, you get a quote first.

Which tier do I need?

Run Umbraco17Check and send me the report. I tell you the tier for free before you buy.