On this page
Key takeaways
- Xamarin's support ended on May 1, 2024. Its last versions can't meet today's App Store and Google Play requirements, so a Xamarin app can't ship updates, including security fixes.
- Moving to .NET MAUI isn't a one-time fix. MAUI 8 and 9 are already out of support; .NET 10 / MAUI 10 is the version to be on now, with a yearly upgrade after that.
- For most Xamarin.Forms apps, migrating to .NET MAUI reuses more code than a rewrite. A rewrite makes sense when the app is small, needs a new design anyway, or your team works in another stack.
- The effort depends on the number of screens, custom renderers, third-party packages and platform-specific code. Our migration of a 25+ screen app with video calls and Firebase took about 8 to 12 weeks.
Microsoft ended support for Xamarin more than two years ago, and plenty of business apps still run on it. They still work for the people who have them installed, so the migration keeps sliding down the list.
In 2026 that changed. The app stores now require newer build tools than Xamarin supports, so a Xamarin app can no longer ship an update. And teams that moved to .NET MAUI early have their own deadline: MAUI 8 and 9 are already out of support.
Here's what changed, what it means for your app, and how to decide what to do next. For the technical steps, see our guide on how to migrate from Xamarin to .NET MAUI.
What changed since Xamarin's end of support
| Date | What happened |
|---|---|
| May 1, 2024 | Microsoft ends support for all Xamarin SDKs, including Xamarin.Forms. The last versions target Android API 34 and Xcode 15. |
| April 2025 | Apple requires App Store uploads to be built with Xcode 16. |
| May 14, 2025 | .NET MAUI 8 reaches end of support. |
| April 28, 2026 | Apple requires App Store uploads to be built with Xcode 26. |
| May 12, 2026 | .NET MAUI 9 reaches end of support. |
| August 31, 2026 | Google Play requires new apps and updates to target Android 16 (API 36). |
| November 10, 2026 | .NET 8 and .NET 9 reach end of support. |
| May 11, 2027 | .NET MAUI 10, the current version, reaches end of support, 6 months after the next version ships. |
What this means for a Xamarin app
You can't publish updates. Xamarin can't build with Xcode 26 or target Android API 36, so the stores won't accept a new version. That includes a fix for a security issue or a change a customer is waiting for.
The installed app keeps running, for now. Existing installs don't stop working on a set date. But every new Android and iOS release is a chance for something to break, and you won't be able to ship the fix. On Google Play, apps that don't target at least Android 15 (API 35) are also no longer offered to new users on newer devices.
The ecosystem has moved on. Third-party SDKs for push notifications, payments, maps and video publish their updates for .NET MAUI, not Xamarin. Every month on Xamarin adds to the gap.
Already on .NET MAUI? Check your version
Moving to MAUI isn't a one-time fix. .NET MAUI has its own support policy: each major version is supported for only 6 months after the next one ships, because it depends on Apple's and Google's tools.
- MAUI 8 and 9 are already out of support (since May 2025 and May 2026), and .NET 8 and 9 end support on November 10, 2026.
- MAUI 10 (.NET 10) is the current version, supported until May 11, 2027.
If your app was migrated in 2024 or 2025, it's probably on MAUI 8 or 9. Upgrading from one MAUI version to the next is much smaller work than the original migration, but it can't wait long, and the app should get the same upgrade every year.
Your options
| Option | What carries over | When it fits |
|---|---|---|
| Migrate to .NET MAUI | Most of the C# code (business logic, services, models) and much of the XAML | Most Xamarin.Forms apps, especially larger ones, and teams that work in .NET |
| Rewrite natively (Swift for iOS, Kotlin for Android) | The backend and the design; the app code is new | Apps that depend on platform-specific features or need the best possible native performance, when you can maintain two codebases |
| Rewrite in Flutter or React Native | The backend and the design; the app code is new, in Dart or JavaScript | When your team already works in those stacks, or the app needs a full redesign anyway |
| Replace or retire | Nothing; users move to a web app, an off-the-shelf product or nothing | Apps few people still use, or whose features now exist in a web app or a product you could buy |
For most Xamarin.Forms apps, migrating to .NET MAUI is the shortest path, because MAUI is built on Xamarin.Forms and your C# code comes with you. A rewrite starts over on every screen and every business rule. It's worth it when the app is small, when it needs a new design anyway, or when your team doesn't work in .NET.
We build and maintain .NET apps, so we're not neutral on the stack. That's also why we'll tell you when an app is better rebuilt or retired than migrated.
What drives the effort
No two migrations are the same size. These are what decide it:
- Number of screens and how custom their layouts are. Layout behavior changed in MAUI, so every screen needs checking.
- Custom renderers. Each one needs to move to a handler eventually; compatibility classes can bridge the gap at first.
- Third-party packages. Video, payments, maps, Bluetooth and scanning libraries may not have MAUI versions, and need replacements or custom work.
- Platform-specific code in the Android and iOS projects, such as push notifications, background tasks and deep links.
- Starting point. An app already on Xamarin.Forms 5 with current packages is much easier than one on Xamarin.Forms 3 or 4.
- Tests. Automated tests make it faster to prove the migrated app behaves the same.
- Release setup. Signing certificates, store accounts and build pipelines need updating for the new tools.
For a sense of scale, see the two migrations below.
Migrations we've done
| App | Size and complexity | Our time |
|---|---|---|
| MyCareCentral for Graham Healthcare Group | 25+ screens, Twilio video calls, Firebase | About 8 to 12 weeks for the full migration |
| OnTheClock | 50+ screens | 6 weeks to finish a migration another vendor had started |
MyCareCentral is a patient app for home health and hospice care. Patients and their families see upcoming visits, care notes, medications and supplies, message the care team securely and have video visits with clinicians. It's built for HIPAA compliance and integrates with the EMR. Third-party packages were among the hardest parts: Twilio Video, which powers the video visits, had no official .NET MAUI library, and the Firebase packages caused build errors we had to work around. Our migration guide shows how we solved both.
OnTheClock is an employee time-tracking app used by thousands of small and mid-size businesses. Another vendor had worked on its migration for over a year without finishing it. We took over and completed the remaining work in 6 weeks.
Both apps were in daily use, so each migration had to keep every feature working for existing users while the code moved underneath them. Your app's timeline will depend on the factors above, which is why we start with an assessment.
How we approach a migration
- Assessment. We inventory the screens, renderers, packages and platform-specific code, and flag anything without a MAUI equivalent. You get a plan and an estimate before any code changes.
- Upgrade pass. We use Microsoft's tooling (now the GitHub Copilot modernization agent in Visual Studio) for the first conversion, then move the code into a clean, single-project .NET MAUI 10 app.
- Layouts, handlers and packages. We fix layout differences screen by screen, move renderers to handlers and replace packages that don't support MAUI.
- Testing on real devices, on the Android and iOS versions your users have.
- Store release with the current SDKs, including signing and pipeline updates.
- Keeping it current. A yearly .NET and MAUI upgrade, so you don't end up here again. Our support plans can cover it.
Once the app is on .NET MAUI, adding new features gets easier too, including AI features such as reading documents or answering questions from your own data. See AI integration.
How we can help
SharpQuest is a software development company in Troy, Michigan. We've built mobile apps with Xamarin and .NET MAUI, and we've migrated client apps such as MyCareCentral (Graham Healthcare Group) and OnTheClock from Xamarin to .NET MAUI. Xamarin migrations are part of our application modernization work. See our mobile app development services.
Frequently asked questions
Can I still update my Xamarin app in the App Store and Google Play?
No. Since April 28, 2026, the App Store requires builds made with Xcode 26, and since August 31, 2026, Google Play requires updates to target Android 16 (API 36). Xamarin's last versions support Xcode 15 and Android API 34.
Will my Xamarin app stop working?
Not on a set date. Installed apps keep running, but new Android and iOS versions can break them, and you can't publish a fix. On Google Play, apps that target below Android 15 aren't offered to new users on newer devices.
Which version of .NET MAUI should we migrate to?
.NET MAUI 10, on .NET 10. MAUI 8 and 9 are out of support, and .NET 8 and 9 end support on November 10, 2026.
We already moved to .NET MAUI. Are we done?
Not quite. Each .NET MAUI version is supported for only 6 months after the next one ships, so plan a yearly upgrade. If your app is on MAUI 8 or 9, it's already out of support.
Should we migrate to .NET MAUI or rewrite the app?
For most Xamarin.Forms apps, migrating reuses more code and takes less time. Consider a rewrite if the app is small, needs a new design anyway, or your team works in another stack such as Swift, Kotlin, Flutter or React Native.
How long does a Xamarin to .NET MAUI migration take?
It depends on the number of screens, custom renderers, third-party packages and platform-specific code. As an example, our migration of MyCareCentral, an app with 25+ screens, Twilio video calls and Firebase, took about 8 to 12 weeks. An assessment of your app gives you a reliable estimate before the work starts.
Still on Xamarin, or on an older MAUI version? Contact us and we'll assess your app and tell you what it will take.
Join the discussion
No comments yet.
Leave a Reply