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
Clean site
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
Custom site
Delivery in 15 days from access.
- Up to 3 AngularJS extensions rebuilt as Web Components
- Nested Content and legacy Media Picker moved to blocks
- Up to 10 macros replaced
- 2 revisions
Complex site
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
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.
- Read-only access. Add a read-only collaborator on GitHub, Azure DevOps or GitLab, or send a zip. No production credentials and no secrets.
- 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.
- 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.
- 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.