Skip to main content
Avalonia UI is a powerful cross-platform UI framework for .NET that enables you to build beautiful, native applications for Windows, macOS, Linux, iOS, Android, and WebAssembly from a single codebase.

What is Avalonia UI?

Avalonia is a mature, production-ready UI framework that brings XAML-based development to modern .NET applications. Considered by many to be the spiritual successor to WPF, Avalonia provides a familiar development experience while offering significant improvements and true cross-platform capabilities. Used by major companies including Schneider Electric, Unity, JetBrains, and GitHub, Avalonia UI has proven itself as a robust solution for building professional desktop and mobile applications.

Key Features

Cross-Platform

Build once, run everywhere. Target Windows, macOS, Linux, iOS, Android, and WebAssembly with a single codebase.

XAML-Based

Use familiar XAML markup with data binding, styles, and templates. Perfect for WPF developers looking to go cross-platform.

Flexible Styling

Advanced styling system with themes, dynamic resources, and CSS-like selectors for complete visual control.

Rich Controls

Extensive built-in control library with support for custom controls, data virtualization, and modern UI patterns.

Why Choose Avalonia?

True Native Performance

Avalonia renders using native graphics APIs (Skia, Direct2D, Metal) to deliver smooth, native-feeling applications on every platform. Your apps will feel at home on each operating system.

Modern .NET

Built on modern .NET, Avalonia supports the latest C# features, hot reload, nullable reference types, and integrates seamlessly with your existing .NET ecosystem.

Production Ready

With years of development and real-world usage by major companies, Avalonia UI is stable, well-tested, and ready for production applications.

Quick Example

Here’s a simple Avalonia application structure:
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;

public class App : Application
{
    public override void Initialize()
    {
        AvaloniaXamlLoader.Load(this);
    }

    public override void OnFrameworkInitializationCompleted()
    {
        if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
        {
            desktop.MainWindow = new MainWindow
            {
                DataContext = new MainWindowViewModel()
            };
        }

        base.OnFrameworkInitializationCompleted();
    }
}
The AppBuilder class configures platform-specific services:
class Program
{
    [STAThread]
    public static void Main(string[] args)
    {
        BuildAvaloniaApp()
            .StartWithClassicDesktopLifetime(args);
    }

    public static AppBuilder BuildAvaloniaApp()
        => AppBuilder.Configure<App>()
            .UsePlatformDetect()
            .UseSkia()
            .WithInterFont()
            .LogToTrace();
}

Get Started

Installation

Set up Avalonia UI with your preferred tools and IDE

Quick Start

Build your first Avalonia app in minutes

First Application

Create a complete Avalonia application step-by-step

Community and Support

Join thousands of developers building with Avalonia:

Platform Support

Avalonia UI supports a wide range of platforms:
PlatformStatusNotes
Windows 10/11✅ Full SupportWin32, UWP
macOS✅ Full Support10.14+
Linux✅ Full SupportX11, Wayland, Framebuffer
iOS✅ Full SupportiOS 12+
Android✅ Full SupportAPI 21+
WebAssembly✅ Full SupportBrowser-based apps
Avalonia is open source and licensed under the MIT license, making it free for both personal and commercial use.

Next Steps

Ready to start building? Head over to the Installation guide to set up your development environment.

Build docs developers (and LLMs) love