Avalonia for macOS

.NET UI on macOS with C# and XAML

.NET UI on Windows with C# and XAML

Pixel-Perfect UI on macOS

Pixel-Perfect UI on macOS

Avalonia renders every pixel through Skia on the Metal API, so text stays razor-sharp and animations glide at high frame rates whatever the Retina scaling.

Themes honour system dark mode settings automatically, giving Mac users a native experience that feels purpose-built rather than ported.

Avalonia renders every pixel through Skia on the Metal API, so text stays razor-sharp and animations glide at high frame rates whatever the Retina scaling.

Themes honour system dark mode settings automatically, giving Mac users a native experience that feels purpose-built rather than ported.

3D GPU
3D GPU
3D GPU

Looks native, or however you want

Looks native, or however you want

Drop in a community Cupertino theme and Avalonia looks right at home on modern macOS.

If brand identity matters, override the styles and ship a bespoke look.

Either way the framework keeps behaviour consistent while you decide how closely the app should blend in.

Drop in a community Cupertino theme and Avalonia looks right at home on modern macOS.

If brand identity matters, override the styles and ship a bespoke look.

Either way the framework keeps behaviour consistent while you decide how closely the app should blend in.

Faster than .NET MAUI

Faster than .NET MAUI

Using the “LOLs per second” benchmark, a straight-port Avalonia build clocks 870 LOLs/s at 295.61 MB: over four times MAUI’s 212 LOLs/s on virtually the same 290.84 MB footprint.

After rewriting the code to exploit Avalonia’s pipeline instead of mirroring MAUI’s approach, throughput shoots to 1,741,695 LOLs/s while memory falls to 275.84 MB.

That’s more than eight-thousand-fold the work MAUI manages, delivered with less RAM and none of its native-widget baggage.

Using the “LOLs per second” benchmark, a straight-port Avalonia build clocks 870 LOLs/s at 295.61 MB: over four times MAUI’s 212 LOLs/s on virtually the same 290.84 MB footprint.

After rewriting the code to exploit Avalonia’s pipeline instead of mirroring MAUI’s approach, throughput shoots to 1,741,695 LOLs/s while memory falls to 275.84 MB.

That’s more than eight-thousand-fold the work MAUI manages, delivered with less RAM and none of its native-widget baggage.

Using the “LOLs per second” benchmark, a straight-port Avalonia build clocks 870 LOLs/s at 295.61 MB: over four times MAUI’s 212 LOLs/s on virtually the same 290.84 MB footprint.

After rewriting the code to exploit Avalonia’s pipeline instead of mirroring MAUI’s approach, throughput shoots to 1,741,695 LOLs/s while memory falls to 275.84 MB.

That’s more than eight-thousand-fold the work MAUI manages, delivered with less RAM and none of its native-widget baggage.

Metal accelerated performance

Metal accelerated performance

Metal accelerated performance

The rendering pipeline talks straight to Metal via Skia, avoiding the Catalyst indirection and Electron’s Chromium weight.

Cold start-up often lands under a second, RAM use stays modest and battery life outlasts web wrappers by a wide margin even on fan-less MacBook Air models.

When performance matters, Avalonia is the right choice.

The rendering pipeline talks straight to Metal via Skia, avoiding the Catalyst indirection and Electron’s Chromium weight.

Cold start-up often lands under a second, RAM use stays modest and battery life outlasts web wrappers by a wide margin even on fan-less MacBook Air models.

When performance matters, Avalonia is the right choice.

The rendering pipeline talks straight to Metal via Skia, avoiding the Catalyst indirection and Electron’s Chromium weight.

Cold start-up often lands under a second, RAM use stays modest and battery life outlasts web wrappers by a wide margin even on fan-less MacBook Air models.

When performance matters, Avalonia is the right choice.

Build on Windows, run on macOS

Build on Windows, run on macOS

Build on Windows, run on macOS

Avalonia’s macOS backend has zero dependency on Xamarin.Mac, so you can compile on Windows or Linux, and launch the app on macOS moments later.

Your team is free from mandatory Apple hardware, and cloud builds become first-class citizens.

Avalonia’s macOS backend has zero dependency on Xamarin.Mac, so you can compile on Windows or Linux, and launch the app on macOS moments later.

Your team is free from mandatory Apple hardware, and cloud builds become first-class citizens.

Avalonia’s macOS backend has zero dependency on Xamarin.Mac, so you can compile on Windows or Linux, and launch the app on macOS moments later.

Your team is free from mandatory Apple hardware, and cloud builds become first-class citizens.

Avalonia HMI app
Avalonia HMI app
Avalonia HMI app

App Store ready, notarised & signed

App Store ready, notarised & signed

Create beautiful mobile apps for iOS & Android

Build a standard .app bundle, codesign with your developer certificate, notarise through Xcode’s CLI and upload to App Store Connect.

Avalonia leaves sandbox entitlements, universal purchase flags and automatic updates to Apple’s tooling, so distribution is as smooth as native Objective-C and Swift projects.

Build a standard .app bundle, codesign with your developer certificate, notarise through Xcode’s CLI and upload to App Store Connect.

Avalonia leaves sandbox entitlements, universal purchase flags and automatic updates to Apple’s tooling, so distribution is as smooth as native Objective-C and Swift projects.

Universal binaries with nativeAOT

Universal binaries with nativeAOT

Create beautiful mobile apps for iOS & Android

Flip the NativeAOT flag, run lipo and ship one lightweight executable that natively serves both Intel and Apple Silicon.

Users see instant launches with no Rosetta warning, and you maintain a single download link instead of juggling architecture-specific installers.

Flip the NativeAOT flag, run lipo and ship one lightweight executable that natively serves both Intel and Apple Silicon.

Users see instant launches with no Rosetta warning, and you maintain a single download link instead of juggling architecture-specific installers.

Avalonia HMI app

Visual Studio, Rider & VS Code
with live XAML preview

Visual Studio, Rider & VS Code
with live XAML preview

Visual Studio, Rider & VS Code
with live XAML preview

The latest Avalonia extension lights up full IntelliSense, XML-doc tooltips and automatic namespace imports in Visual Studio, while Rider and VS Code share the same live XAML previewer engine.

Edit a .axaml file and the live preview refreshes instantly against the real renderer, keeping feedback loops tight across every desktop OS.

The latest Avalonia extension lights up full IntelliSense, XML-doc tooltips and automatic namespace imports in Visual Studio, while Rider and VS Code share the same live XAML previewer engine.

Edit a .axaml file and the live preview refreshes instantly against the real renderer, keeping feedback loops tight across every desktop OS.

The latest Avalonia extension lights up full IntelliSense, XML-doc tooltips and automatic namespace imports in Visual Studio, while Rider and VS Code share the same live XAML previewer engine.

Edit a .axaml file and the live preview refreshes instantly against the real renderer, keeping feedback loops tight across every desktop OS.

Familiar XAML, WPF Friendly

Familiar XAML, WPF Friendly

Grid, StackPanel, DataTemplate and two-way bindings work exactly as seasoned WPF engineers expect, so teams slide into Avalonia without rewiring muscle memory.

When you need a 1:1 match, XPF, our commercial fork, runs unmodified WPF projects on macOS, letting you choose between rapid migration and absolute fidelity.

Grid, StackPanel, DataTemplate and two-way bindings work exactly as seasoned WPF engineers expect, so teams slide into Avalonia without rewiring muscle memory.

When you need a 1:1 match, XPF, our commercial fork, runs unmodified WPF projects on macOS, letting you choose between rapid migration and absolute fidelity.