# Can .NET MAUI run in the browser?

> Canonical page: https://mauiweb.appmare.com/maui-in-browser.html  
> Language: English (en)  
> Purpose: Direct answer on running .NET MAUI apps in a web browser, the options in 2026 (MauiWeb, Avalonia's MAUI backend, Blazor, Uno Platform), what changes for an app, and FAQs.  
> Markdown copy made 31 October 2026 · Maintained by AppMare (contact@appmare.com)  
> Site map for this guide: https://mauiweb.appmare.com/sitemap.md

Not on its own, but your MAUI app can still become a website. Here are the options in 2026 and what each one asks of your app. Updated 31 October 2026.

## The short answer

.NET MAUI itself has no browser target. Microsoft ships it for Android, iOS, macOS (through Mac Catalyst) and Windows. To put a MAUI app on the web you add something that brings it there: run the app on a server and send the browser HTML (MauiWeb), compile it to WebAssembly with Avalonia's MAUI backend (in preview), or rewrite the interface in a web framework such as Blazor.

## Your three options

### 1. Run the app on a server, send HTML: MauiWeb

[MauiWeb](https://mauiweb.appmare.com/) runs your MAUI app on an ASP.NET Core server, one copy per browser tab, and turns every control into HTML. The first response is the finished page; after that a WebSocket carries taps and typing to your C# and brings back only what changed. Your XAML, view models and services stay as they are, and nothing has to download before the page appears.

### 2. Compile to WebAssembly: Avalonia's MAUI backend

Avalonia published the first preview of an Avalonia backend for .NET MAUI on 16 March 2026, adding Linux and WebAssembly targets. Avalonia draws the controls itself onto a canvas, and the output is static files, so no server is needed. The browser downloads the .NET runtime and your app first; Avalonia's own five-control demo is about 13 MB after Brotli compression. Avalonia says Essentials support is still being written and it aims for a stable release alongside .NET 11. See [MauiWeb vs Avalonia's MAUI backend](https://mauiweb.appmare.com/mauiweb-vs-avalonia.md).

### 3. Rewrite the interface for the web: Blazor or Uno Platform

Blazor builds web interfaces from Razor components (HTML and C#). You can share your services and models, and a MAUI app can host the same Razor components with Blazor Hybrid, but MAUI XAML pages do not run in Blazor. Uno Platform runs WinUI XAML in the browser through WebAssembly; a MAUI XAML app has to be ported to WinUI XAML first.

See all four side by side on the [comparison page](https://mauiweb.appmare.com/compare.html).

## How it works with MauiWeb

1. **Add a web project** next to your app: `dotnet new web -n MyApp.Web`, then reference your shared MAUI project.
2. **Install MauiWeb:** `dotnet add package AppMare.MauiWeb`
3. **Map it** in `Program.cs`: `app.MapMauiWeb(() => MauiProgram.CreateMauiApp(b => b.UseMauiWeb()));`

Run it and open `http://localhost:5280`. It is free on localhost and private hosts, with no key and no sign-up. The full steps are in the [setup guide](https://mauiweb.appmare.com/docs.html#web-head), and every control runs live in the [gallery](https://mauiweb.appmare.com/gallery.html).

## What changes for your app

- **Layouts:** Grids, stacks, sizes and `SizeChanged` behave as on a phone. Web platform-specifics move a TabbedPage or Shell tab bar to a side rail or a navbar on wide screens.
- **Essentials:** 36 APIs, such as Preferences, Clipboard, Share, Geolocation and FilePicker, work through the visitor's browser when the browser offers the feature and the visitor allows it.
- **State:** every tab gets its own app. If your code keeps per-user data in `static` fields, turn on [process isolation](https://mauiweb.appmare.com/docs.html#isolation).
- **Addresses:** register pages with web addresses so links, reloads and the Back button work, and search engines see each page. See [page addresses](https://mauiweb.appmare.com/docs.html#addresses).

## When MauiWeb is not the right fit

- The app must work offline: MauiWeb needs a live connection to your server.
- You want static hosting with no server at all: a WebAssembly build fits better.
- Every interaction must be instant on a slow network: each tap is a round trip to your server, so visitors far from it feel their network time.

## Questions

### Does Microsoft support .NET MAUI on the web?

No. .NET MAUI targets Android, iOS, macOS and Windows. Web support comes from third parties such as MauiWeb and Avalonia. MauiWeb is not affiliated with Microsoft.

### Does .NET MAUI support WebAssembly?

Not by itself. Avalonia's MAUI backend, in preview since March 2026, compiles MAUI apps to WebAssembly. MauiWeb does not use WebAssembly: your app runs on your server and the browser receives HTML.

### Can I reuse my XAML and view models?

With MauiWeb, yes: the same XAML pages, view models, bindings and services run as they are. Blazor and Uno Platform need the interface rewritten in Razor or WinUI XAML.

### Will search engines index a MAUI app on the web?

With MauiWeb, every page arrives as finished HTML, so search engines and screen readers can read it. Apps that render in WebAssembly first send a loading page and draw the content after the runtime downloads.

### Do I need a server?

For MauiWeb, yes: any host that runs ASP.NET Core with WebSockets, such as Azure App Service, Google Cloud Run or a Linux server. See the [deployment guide](https://mauiweb.appmare.com/deploy.html).

## Sources

- [MAUI Avalonia Preview 1](https://avaloniaui.net/blog/maui-avalonia-preview-1), Avalonia UI blog, 16 March 2026.
- [Avalonia UI for WebAssembly](https://avaloniaui.net/avalonia/wasm), Avalonia UI (download size measured by Avalonia on 23 August 2026).
- [Reuse Razor components in ASP.NET Core Blazor Hybrid](https://learn.microsoft.com/en-us/aspnet/core/blazor/hybrid/reuse-razor-components), Microsoft Learn.
- [MauiWeb performance measurements](https://mauiweb.appmare.com/docs.html#performance), 25 October 2026.
