Your .NET MAUI app,
as a real website.
The XAML, C# and view models you already ship to iPhone and Android, now a real website. Your app runs on your server and the browser gets finished HTML: nothing to download, no loading screen.
dotnet add package MauiWeb
Live: one MAUI app, on desktop and phone
Every tap runs your C#.
This is a real MAUI app on our server, not a video. Tap a switch or drag a slider and watch the messages travel.
- Connecting to the app on the server…
First response for a page with about 60 controls: the finished page, ready to read.
Server time for a tap, with 100 visitors using the app at once.
For the visitor to download before the app appears.
Measured on 25 October 2026. Real visitors add their own network time. How we measured
The app you already built. Now on the web too.
No second codebase, no rewrite in another framework. The pages you made for iPhone and Android become your website.
Fix it once
One codebase for phone, desktop and web. A change you make shows up everywhere.
Opens instantly
Visitors see your app the moment the page loads. Nothing to download, no loading screen.
Found on Google
Every page is real HTML, so search engines can read it and screen readers can understand it.
Your code stays yours
Your app runs on your server and the browser only shows it. Your C# never reaches the visitor.
The controls and APIs your app already uses.
46 controls and page types and 36 Essentials APIs work in the browser. Try them in the live gallery.
Pages and layout 14
One app. A layout for every screen.
Web platform-specifics put a TabbedPage or Shell where a website needs it: a bottom bar on phones, a side rail on desktops, or a landing-page navbar. Pick one and watch the live app switch.
// Default: a bottom bar on narrow screens, like a phone app. var tabs = new TabbedPage();
Three steps to a website.
- 1Add a web project next to your app:
dotnet new web -n MyApp.Web, then reference your shared MAUI project. - 2Install MauiWeb:
dotnet add package MauiWeb - 3Make two calls.
MapMauiWebserves your app andUseMauiWebdraws it for the browser. Your pages stay exactly as they are.
- Your layouts still work. Grids, stacks, sizes and
SizeChangedbehave as they do on a phone. - Free on your machine. localhost, private addresses and
*.local,*.testhosts never need a license.
using MauiWeb.Hosting; var app = WebApplication.CreateBuilder(args).Build(); // Your app, one copy per browser tab, drawn as HTML. app.MapMauiWeb(() => MauiProgram.CreateMauiApp(b => b.UseMauiWeb())); app.Run();
Every visitor gets their own app.
Each browser tab runs its own copy of your app, with its own state, exactly like each phone does. One server handles hundreds of visitors, and you scale out like any ASP.NET Core app.
How isolation and scaling work →Build with it today, for free.
No key, no sign-up and no time limit while you build. You only pay when your site goes live.
Development
FreeBuild and test without a key: localhost, private addresses and .local, .test, .localhost, .internal hosts. No sign-up, no time limit.
dotnet add package MauiWebCommunity
FreeFor open-source projects and students: a free key for one domain. Send us the project's repository or your university email.
Ask for a Community key →Put your MAUI app on the web this week.
Free while you build. From $249 a year per domain when you go live, with 40% off your first year for the first 20 customers.