Avalonia for WebAssembly

Ship your .NET desktop app to the browser with zero rewrites

Deploy to the Web Without Rewrites

Avalonia compiles your existing C# and XAML directly to WebAssembly, so the same codebase that runs on Windows, macOS and Linux also runs in any modern browser.

No JavaScript frameworks, no transpilation layers, no second UI stack to maintain. Your desktop application becomes a web application with a single publish target.

Ship internal tools, customer-facing dashboards and rich line-of-business apps to the browser while keeping a single team and a single skill-set.

Avalonia app running in a browser window via WebAssembly

Pixel-Perfect Rendering in the Browser

Avalonia draws every pixel through its own Skia-backed rendering pipeline, which means your UI looks identical in the browser and on the desktop.

There is no HTML DOM, no CSS cascade and no browser quirks to work around. What you see in the XAML previewer is exactly what your users see in Chrome, Firefox, Safari and Edge.

Desktop and browser showing identical Avalonia UI powered by Skia

One Codebase, Every Platform

WebAssembly is not a separate product; it is another deployment target for the same Avalonia project you already maintain.

Share ViewModels, business logic, styles and even custom controls across Windows, macOS, Linux, iOS, Android and the browser without conditional compilation or platform abstractions.

Single code file deploying to Windows, macOS, Linux, Mobile and WASM

Full .NET in the Browser

Avalonia on WebAssembly runs on the .NET runtime, giving you access to the entire .NET Base Class Library, NuGet packages and the C# language features you already know.

Entity Framework, System.Text.Json, HttpClient, and thousands of other libraries work out of the box. If it compiles against .NET, it runs in the browser.

.NET runtime and NuGet packages available in the browser

JavaScript Interop When You Need It

While Avalonia handles rendering and input independently, you can still call into the browser when you need to. Access browser APIs, integrate third-party JavaScript libraries or communicate with existing web services through .NET’s JS interop layer.

Use the web platform where it makes sense, without being forced to rebuild your entire UI around it.

C# and Avalonia communicating with JavaScript browser APIs

Avalonia WebAssembly Apps Showcase

Solitaire

Solitaire

The classic card game running entirely in the browser via Avalonia WebAssembly.