About WinUI

What is WinUI?

WinUI is a user interface layer that contains modern controls and styles for building Windows apps. As the native UI layer in Windows it embodies Fluent Design, giving each Windows app the polished feel that customers expect.

WinUI 2 is a library of controls and styles currently available for use in any UWP app. It offers exciting, flexible, modern controls such as NavigationView and TeachingTip.

WinUI 3 is the next generation of the WinUI framework, and is now available for production apps. It dramatically expands WinUI into a full UX framework, and ships as a part of the Windows App SDK . With WinUI 3, modern controls, styles, and capabilities will be available to apps on Windows 11 and Windows 10.

Who can use WinUI?

WinUI 2 is compatible with UWP apps, and WinUI 3 works with any app supported by the Windows App SDK. WinUI 3 can be used directly as the UI layer for desktop apps, or starting next year, it can be used to modernize a Win32 app's UI gradually, using XAML Islands to mix and match with the following technologies:

  • WPF
  • WinForms
  • MFC
  • ComCtl32

WinUI also serves as the basis for cross-platform technologies that provide great native Windows experiences. React Native for Windows, .NET MAUI, and the Uno platform harness the power of WinUI today - if you're currently using those platforms you're already using WinUI!

Controls and features

Use the table below to see how WinUI compares to your favorite technology.

The symbol marks that the capability/feature is included.

* Work in progress.

Capability/feature WinUI 3 UWP XAML & WinUI 2 WPF WinForms MFC
Windows app types supported Desktop UWP Desktop Desktop Desktop
Windows versions supported Win10, 1809+

Win11 (all)
Win10, 1703+

Win11 (all)
Windows XP or higher Windows XP or higher Windows XP or higher
Native C/C++
.NET 5 Support
WebView2
(Chromium-based engine)
* *
Built-in Fluent Design controls
Built-in support for modern input
(e.g. touch, pen, gamepad)
Uses latest DirectX version for graphics performance
High performance data binding
(x:Bind)

Find your path forward

Energize your favorite native application with enhanced, intuitive experiences or start building that exciting app idea from scratch - WinUI is built for both new and existing Windows apps.

How do you want to use WinUI?

Path for UWP apps

UWP apps are modern, flexible, and integrate easily with WinUI. WinUI 2 provides even more modernizations and improvements, including the following:

  • New controls and capabilities: WinUI builds on what's available in UWP and gives you even more- including styling elements and a full set of Fluent design based controls. You can browse WinUI controls in the Xaml Controls Gallery app.
  • Greater agility: Decoupled from the OS and frequently updated, WinUI offers backwards compatibility and gives you access to cutting edge updates.

For detailed instructions on how to use WinUI in your UWP app, see:

Path for desktop (Win32) apps

WinUI can be used with desktop apps in two different ways. Here's how:

Complete use: You can use WinUI 3 as the entire UI layer for your desktop app, replacing your current main UI framework. This method ensures that your entire app is modern and consistent in that each component of the app has the same rich functionality and capability.

With WinUI 3, you can use WinUI to build a desktop app. For instructions and details, see:

Hybrid use: With Xaml Islands, you can modernize certain parts of your app with WinUI, allowing you to adopt WinUI at your own pace. You can host any built-in UWP control or custom-created control inside of your desktop app, along with UWP functionality such as WebView or modern input support. Xaml Islands allows you to upgrade your interface where it would be most impactful in your application.

Note that support for Xaml Islands in WinUI 3 is coming next year. To learn more about getting started with Xaml Islands, you can refer to the modernization docs.