A Xamarin to MAUI migration stopped being optional in 2026. Xamarin support ended on May 1, 2024, and this year both app stores moved their build requirements past anything Xamarin can target, so a Xamarin app can no longer ship an update. If your app still runs on Xamarin.Forms, you are one urgent bug fix away from discovering you cannot publish it.
Most teams I talk to did not notice, because the app kept running. Running and shipping are different problems.
Key Takeaways
- Microsoft ended support for all Xamarin SDKs, including Xamarin.Forms, on May 1, 2024. Its final targets were Android API 34 and Xcode 15.
- Apple has required Xcode 26 and the iOS 26 SDK for uploads since April 28, 2026. Google Play requires API 36 for updates since August 31, 2026. Xamarin meets neither.
- .NET MAUI support does not follow .NET LTS dates. MAUI 10 is supported until May 11, 2027, and you must stay on the latest servicing update.
- For a typical business app, a migration is a few months of work for two engineers. For a messy one, compare it honestly against a rebuild.
Why the Xamarin Deadline Became Real in 2026
From Microsoft's Xamarin support policy: "Xamarin support ended on May 1, 2024 for all Xamarin SDKs including Xamarin.Forms," and "Android API 34 and Xcode 15 SDKs (iOS and iPadOS 17, macOS 14) are the final versions Xamarin targets."
For two years that was a security and tooling problem. In 2026 it became a distribution problem:
| Requirement | Date | What it means for Xamarin | Source |
|---|---|---|---|
| Xamarin support ends | May 1, 2024 | No fixes, final targets Xcode 15 / API 34 | Microsoft |
| Apple: build with Xcode 26 / iOS 26 SDK | Since Apr 28, 2026 | Xamarin iOS builds cannot be uploaded | Apple |
| Google Play: target API 36 for new apps and updates | Since Aug 31, 2026 (extensions to Nov 1, 2026) | Xamarin.Android cannot ship updates | Android Developers |
| .NET MAUI 10 support ends | May 11, 2027 | Your migration target has its own clock | MAUI policy |
Google lets existing apps targeting API 35 or higher stay visible to new users on newer Android versions. A Xamarin app stops at 34, so it also loses reach over time even if you never update it.
MAUI Has Its Own Support Clock
People assume MAUI follows .NET. It does not. The MAUI policy says "a major version of .NET MAUI receives a minimum of 6 months of support after its successor ships." MAUI 8 ended on May 14, 2025, even though .NET 8 itself runs to November 10, 2026. MAUI 9 ended May 12, 2026.
So target MAUI 10, plan to move to the next MAUI release within six months of it shipping, and budget for staying on the latest servicing update, which Microsoft requires for support. If your backend is also on .NET 8, see .NET 8 end of life for that clock.
What a Xamarin to MAUI Migration Actually Involves
Microsoft's migration docs describe the mechanical path. In practice the work splits into four buckets:
1. Project structure. Separate platform projects collapse into a single MAUI project with SDK-style project files. Mostly mechanical, sometimes painful in large solutions.
2. Renderers to handlers. Xamarin.Forms custom renderers do not carry over directly. Every custom control needs to be reviewed and usually rewritten as a handler. This is where estimates blow up.
3. Third-party packages. Each NuGet package needs a MAUI-compatible version. Abandoned packages (charts, maps, payment SDK wrappers) need a replacement.
4. Platform code and store compliance. Permissions, push notifications and background work need retesting against current OS versions, because you are jumping from iOS 17 and API 34 targets straight to iOS 26 and API 36.
A Concrete Version
A hypothetical field-service app: Xamarin.Forms, 60 screens, 38,000 lines of shared C#, 22 custom renderers, 31 NuGet packages, push notifications, offline sync, and a barcode scanner.
Estimate:
- Project conversion and build pipeline for both stores: 60 hours.
- 22 custom renderers rewritten as handlers at about 8 hours each: 176 hours.
- 31 packages: 24 have MAUI versions (1.5 hours each to swap and fix, 36 hours); 7 need replacements (12 hours each, 84 hours): 120 hours.
- Screen-by-screen fixes for layout and behavior differences, 60 screens at 2 hours: 120 hours.
- Push, offline sync and scanner retest on current iOS and Android: 60 hours.
- QA on devices, store submission, staged rollout: 80 hours.
Total: 60 + 176 + 120 + 120 + 60 + 80 = 616 hours. Two senior mobile engineers at about 35 productive hours a week each need roughly nine weeks. Call it two and a half months with buffer.
The Honest Counterpoint
MAUI is the shortest path if your team writes C# and the app is mostly forms and lists. It is not automatically the right destination.
If you have 22 custom renderers, you are rewriting a third of the UI layer anyway. At that point compare the 616 hours against a rebuild in React Native or Flutter, especially if you already have TypeScript engineers on the web side or struggle to hire C# mobile people. I compared those two in React Native vs Flutter. A rebuild also has risks, and big rewrites fail when scope grows during the project, so freeze features before you start either path.
One more honest point: the MAUI hiring pool is smaller than React Native's. That affects how fast you can staff this and how easily you can replace someone later.
Who Does the Work
Your current team probably has one person who knows the Xamarin app well and is busy. Pair that person as reviewer with one or two senior engineers who have shipped a MAUI migration, or with React Native engineers if you decide to rebuild. The .NET developer hiring guide covers what to test for on the C# side.
Ruzora sends a vetted shortlist of senior mobile engineers within 72 hours. For a rebuild, see React Native engineers; for MAUI, request a shortlist and tell us the stack.
Frequently Asked Questions
Is Xamarin to MAUI migration mandatory?
If you want to ship app updates, effectively yes. Apple requires the iOS 26 SDK for uploads since April 28, 2026, and Google Play requires API 36 for updates since August 31, 2026. Xamarin's final targets are Xcode 15 and API 34.
How long does a Xamarin to MAUI migration take?
A simple forms-and-lists app can take four to six weeks for two engineers. Apps with many custom renderers, abandoned packages or offline sync land at two to four months.
Should I migrate to MAUI or rebuild in React Native or Flutter?
Migrate if your team is C#-heavy and custom UI is limited. Consider a rebuild if most of the UI is custom renderers anyway, or if you cannot hire C# mobile engineers at the pace you need.
The Bottom Line
The Xamarin to MAUI migration deadline is behind you: Apple already rejects Xamarin builds, and Google Play's extension window closes November 1, 2026. Size the renderers and packages first, decide migrate versus rebuild on those numbers, and staff it with people who have done it before. See vetted engineers.
Roberto Espinoza is CEO of Ruzora, which helps US startups hire pre-vetted senior LATAM engineers, with a vetted shortlist in 72 hours. See available engineers.
