Cross-Platform WPF. Without the rewrite.

XPF is a binary-compatible WPF runtime. Your XAML, your code-behind, your DevExpress and Telerik controls, all of it comes with you. Change one SDK reference and build.

Adopted by leading organizations

KLMAutodeskSiemensStrykerKeysightCOMSOLOMRONKomaxOktaRocket LabHexagonAsteraNova BiomedicalUnicontaGradientech

What a rewrite actually costs

Compare the cost of a rewrite to a license fee.

Rewrite it in-house

€300,000+

Two senior engineers for a year, plus the year of roadmap that did not ship.

Licence XPF instead

€29,500

Business tier, per application, perpetual. Your code is not rewritten at all.

The difference

10×

An XPF licence is the only options with a known cost.

Opportunity cost is the real price to pay

A rewrite puts your most experienced engineers on rebuilding what you already have, and most teams can't afford to spend a year reinventing the wheel while their competitors ship new features.

A rewrite is never 1:1

Even under ideal conditions, with an expert cross-platform team, a rewrite rarely achieves true 1:1 feature parity. The first 90% can look straightforward; the final 10% is where the complexity and hidden costs emerge.

Published migration methodologies recommend a 30 to 40 per cent contingency buffer for exactly this kind of work. A licence doesn't carry one. You purchase the known cost, not the unknown.

Your DevExpress licence still works. So does Telerik, Infragistics, Syncfusion, Actipro, SciChart and more.

Commercial control suites are available on some cross-platform XAML targets, but they often don't match the depth, maturity, or critical functionality of their WPF counterparts.

WPF applications can rely on thousands of professionally maintained, battle-tested, and supported UI components. Replacing or adapting those dependencies control by control adds risk, time, and cost to a port that was already difficult to scope.

XPF preserves compatibility with the third-party controls your application already depends on, so you can migrate without turning the project into a component-replacement programme.

DevExpressDevExpress
ActiproActipro
SyncfusionSyncfusion
TelerikTelerik
InfragisticsInfragistics
SciChartSciChart
View all compatible controls
MainWindow.xaml
<Window x:Class="EnterpriseApp.MainWindow"
  xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation">
  <Grid>
    <!-- 100% Native Telerik Control -->
    <!-- Running on macOS/Linux -->
    <telerik:RadGridView
      ItemsSource="{Binding FinancialData}"
      ShowGroupPanel="True" />
  </Grid>
</Window>

One codebase.
Six platforms.

Desktop in every tier. Mobile and browser at Enterprise.

Windows, macOS and desktop Linux are covered by every XPF licence, building from the codebase you already ship. iPadOS, Android tablets and the browser through WebAssembly sit in the Enterprise tier, scoped with our engineers.

Your WPF App
Desktop

macOS

macOS 10.14 (Mojave) or later

Deploy WPF apps to macOS through the App Store or ad-hoc with DMG packaging. Package as universal binaries for Intel and Apple Silicon.

WPF application running on macOS
Desktop

Linux

Desktop & Embedded Linux

Every XPF tier supports desktop Linux including Ubuntu, Debian, Fedora, Arch, Red Hat, openSUSE, and Linux Mint. Embedded Linux and additional distributions are a Business-tier add-on, included at Enterprise.

WPF application running on Linux
MobileEnterprise

iPadOS

WPF on iPad

XPF brings your existing WPF application to iPadOS. Desktop interactions carry over; you decide what to adapt for touch.

WPF application running on iPadOS
MobileEnterprise

Android

Android Tablets

XPF runs your WPF application on Android tablets, bringing existing desktop software to the Android ecosystem.

WPF application running on Android
WebAssemblyEnterprise

Browser

WPF in the browser

XPF runs WPF applications in modern web browsers through WebAssembly. Multi-window desktop flows need adapting to single-view UX patterns.

WPF application running on Browser

Your managed code stays.
The renderer changes.

Windows Components

Core API layer
Kernel
User32
DirectX
GDI
Device Drivers
Graphics Card

Avalonia Renderer

Cross-platform
Avalonia Composition Engine

MilCore

Unmanaged layer
Composition Engine

Presentation Core

Managed layer
Visual System

Presentation Framework

Managed layer
Layout
Styling
Controls
Text
Imaging
Animation
Media
Data Binding
Input
Your WPF Application

WPF Compatibility

XPF is a fork of WPF that maintains API and binary compatibility across the managed surface area. Your existing code and third-party controls carry over. The Windows-only renderer is replaced with Avalonia's cross-platform compositional renderer.

What to expect

Most managed WPF code and third-party controls work without changes. Windows-specific APIs (DirectX, native interop, shell integration) are replaced by cross-platform equivalents.

MyApp.csproj
<Project Sdk="Xpf.Sdk/1.6.0">

  <ItemGroup>
    <RuntimeHostConfigurationOption
      Include="AvaloniaUI.Xpf.LicenseKey"
      Value="<YOUR_LICENSE_KEY>" />
  </ItemGroup>

Go cross-platform by changing your SDK reference

Getting started is one edit to your csproj. Evaluation licences cover the full Business tier feature set, and you run them against your own production codebase with our engineers involved.

Start an evaluation

Blend Avalonia and WPF in the same window.

Mix & Match lets you embed native Avalonia controls alongside your WPF controls. Modernise your UI incrementally: adopt Avalonia's TreeDataGrid, theming, or any custom control without touching the rest of your app.

  • Embed Avalonia controls directly in WPF views
  • Access Avalonia's modern theming and styling system
  • A gradual modernisation path, not a big-bang rewrite
  • Available in Business and Enterprise tiers
See Business tier
MainWindow.xaml
<Window>
  <Grid>

    <!-- Standard WPF control -->
    <DataGrid ... />

    <!-- Avalonia control embedded in WPF -->
    <xpf:AvaloniaHost>
      <avalonia:TreeDataGrid
        Source="{Binding GridSource}" />
    </xpf:AvaloniaHost>

  </Grid>
</Window>

XPF is trusted by leading WPF teams across industries

KLM

“With XPF, the Mac version is now identical to the Windows version, and more importantly, we are very happy to be back to one codebase, thanks to XPF.”

Peter Wanders

Gradientech

“We chose Avalonia XPF to support the transition from a PC-based application to an embedded solution on custom hardware. This decision allowed us to seamlessly reuse our existing WPF-based user interface on an embedded Yocto OS platform, replacing the previous Windows-based platform in an efficient and maintainable way.”

Marcus Berglund

OnCue

“Porting our app to the Mac has been a breeze with XPF, and their technical support is rock solid. Kudos to the XPF team for creating an extraordinary product!”

David Cavin

LINQPad

“Very happy with the decision to use Avalonia XPF: it’s turned out to be a powerful and productive x-platform API, and the support has been nothing short of awesome.”

Joseph Albahari

AutodeskSiemensStrykerKeysightCOMSOLOMRONKomaxOktaRocket LabHexagonAsteraNova BiomedicalUniconta

Choose your
deployment path

Perpetual licences, per application, with twelve months of updates and direct support from the engineers who build XPF.

Internal

9,500/ app

For line-of-business apps and internal tooling that never leaves your organisation.

Development and internal deployment to your own employees only

Included

macOS
Desktop Linux
Major third-party control compatibility
10 working day SLA
Anytime upgrade to Business
Start an evaluation

Business

29,500/ app

For software you sell or ship to customers on macOS and desktop Linux.

Commercial deployment to macOS and desktop Linux, with embedded Linux as a priced add-on

Included

Everything from Internal, plus…

Mix & Match Avalonia controls
Cross-platform System.Drawing
5 working day SLA
Embedded Linux+ €21,250
Start an evaluation

Enterprise

Starting from

124,500/ app

For products that also need mobile or the browser, scoped with our engineers.

Every platform XPF supports, including iOS, Android, and WebAssembly

Included

Everything from Business, plus…

Embedded Linux included
iOS & Android
WebAssembly
3 working day SLA
Source code access available
Talk to sales engineers

Migration services

Would you rather someone else did the migration?

XPF is a licence, not a service, and plenty of teams run the migration themselves. If you would rather hand it over, we offer migration services and we work with partners who specialise in exactly this kind of work.

Our partner UXDivers has delivered several of these engagements. Their latest moved FVBS professional, a WPF financial advisory platform used by banks and advisors, from .NET Framework to .NET 8 on XPF. It now ships on Windows, macOS and Linux with 99.9 per cent of its XAML preserved.

FAQ

Your questions,
answered.

Can't find what you need? We're here to help.

Contact us

Avalonia XPF is a cross-platform implementation of WPF that allows you to run your existing WPF applications on macOS, Linux, iOS, Android, and WebAssembly without rewriting your code.

Avalonia is a cross-platform UI framework with its own API inspired by WPF. XPF is a fork of WPF that maintains API and binary compatibility across the managed surface area. Most managed WPF code carries over directly, though Windows-specific APIs require platform alternatives.

XPF requires .NET 6 as a minimum, and we recommend .NET 8 (the current LTS) or .NET 9. Your project needs to be an SDK-style project targeting at least net6.0-windows, and building cleanly on modern .NET, before XPF comes into it.

Not directly. Modernising from .NET Framework to .NET 6 or later is a separate piece of work that has to happen first, and XPF does not do it for you. It is well-trodden ground and plenty of teams do it as the first phase of the same project, but it should be scoped as its own piece rather than assumed away.

DirectX is Windows-only, so anything rendering through D3D directly needs a cross-platform answer. System.Drawing.Common is deprecated off Windows and GDI+-dependent controls will throw, which is what the Business tier cross-platform System.Drawing addresses. FlowDocument support has real limits: no pagination, no floaters, and limited tables. Multiple UI threads are not supported on macOS, per-pixel hit transparency is not supported, and not every Win32 message is generated on every platform. We publish the full list of behavioural differences in the XPF documentation under Migration, Known Differences.

For typical business UI workloads, rendering performance is broadly comparable to WPF. XPF uses Avalonia's modern compositional renderer, which is hardware-accelerated and optimised for each target platform.

Yes, XPF supports UI controls from leading vendors including Actipro, DevExpress, Syncfusion, Telerik, Infragistics, and more.

No, XPF does not convert your code. It's a WPF fork that runs your managed WPF code on new platforms. You change the SDK reference in your project file and XPF handles the rendering.

DirectX is a Windows-only technology. XPF replaces the DirectX-based rendering pipeline with Avalonia's cross-platform renderer while maintaining visual fidelity.

Run WPF on
macOS & Linux

Try your production codebase and third-party components on new platforms, with engineering support from the developers building XPF.

01

Plan

What 3rd-party components and dependencies you have, and what it takes to run them.

02

Validate

Your app, built and running with XPF on macOS and Linux.

03

Ship

Work with our engineers to get your app into production on new platforms, with confidence.