Material.Icons.Avalonia
3.0.0
dotnet add package Material.Icons.Avalonia --version 3.0.0
NuGet\Install-Package Material.Icons.Avalonia -Version 3.0.0
<PackageReference Include="Material.Icons.Avalonia" Version="3.0.0" />
<PackageVersion Include="Material.Icons.Avalonia" Version="3.0.0" />
<PackageReference Include="Material.Icons.Avalonia" />
paket add Material.Icons.Avalonia --version 3.0.0
#r "nuget: Material.Icons.Avalonia, 3.0.0"
#:package Material.Icons.Avalonia@3.0.0
#addin nuget:?package=Material.Icons.Avalonia&version=3.0.0
#tool nuget:?package=Material.Icons.Avalonia&version=3.0.0
Material.Icons
Parsed icons set from materialdesignicons.com and display control implementations for different GUI frameworks.
- All icons are always up-to-date because automatically updated every 6 hours.
- Small package size because icons are graphically encoded via SVG Path.
- Icon types are strongly typed enum, so your IDE will suggest available variants:

Structure
This project consists of 3 parts:
FAQ - frequently asked questions
Community maintained
contains controls for WinUI/UNO (separate repository)
Avalonia
Getting started
- Install Material.Icons.Avalonia nuget package:
dotnet add package Material.Icons.Avalonia - Include styles in
App.xaml(for2.0.0version and higher):<Application xmlns:materialIcons="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia" ...> <Application.Styles> ... <materialIcons:MaterialIconStyles /> </Application.Styles> </Application>
Using
Add Material.Icons.Avalonia namespace to the root element of your file (your IDE can suggest it or do it automatically):
xmlns:materialIcons="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
Use MaterialIcon control:
<materialIcons:MaterialIcon Kind="Abacus" />
The Foreground property controls the color of the icon.
Also, there is MaterialIconExt which allows you to use is as the markup extension:
<Button Content="{materialIcons:MaterialIconExt Kind=Abacus}" />
Or with a text via MaterialIconTextExt:
<Button Content="{materialIcons:MaterialIconTextExt Kind=Play, Text=Play}" />
The MaterialIcon implements IImage interface, to allow to use as an Image source:
<Image>
<materialIcons:MaterialIcon Foreground="DeepPink" Kind="Abacus" />
</Image>
<Image Source="{materialIcons:MaterialIconExt Kind=Abacus, IconForeground=DeepPink}" />
Note that when using MaterialIcon as an Image source, the Width and Height properties must be defined under <Image>,
any size definition on MaterialIcon have no impact. Also, animation are not supported in this use case.
Classes
- Fill: Fits to size within the parent control
- NullAsInvisible:
{x:Null}(Default) icons will not reserve space for it in layout.
Avalonia FuncUI (F#)
Getting started
- Install Material.Icons.Avalonia nuget package:
dotnet add package Material.Icons.Avalonia - Import styles in Application (or if you use XAML check instructions for plain Avalonia)
type App() = inherit Application() override this.Initialize() = .. this.Styles.Add(MaterialIconStyles(null)) .. - Create bindings for
MaterialIconnamespace Avalonia.FuncUI.DSL [<AutoOpen>] module MaterialIcon = open Material.Icons open Material.Icons.Avalonia open Avalonia.FuncUI.Types open Avalonia.FuncUI.Builder let create (attrs: IAttr<MaterialIcon> list): IView<MaterialIcon> = ViewBuilder.Create<MaterialIcon>(attrs) type MaterialIcon with static member kind<'t when 't :> MaterialIcon>(value: MaterialIconKind) : IAttr<'t> = AttrBuilder<'t>.CreateProperty<MaterialIconKind>(MaterialIcon.KindProperty, value, ValueNone) - Use
Button.create [ Button.content ( MaterialIcon.create [ MaterialIcon.kind MaterialIconKind.Export ] ) ]
WPF
Getting started
Install Material.Icons.WPF nuget package:
dotnet add package Material.Icons.WPF
Using
Add Material.Icons.WPF namespace to the root element of your file (your IDE can suggest it or do it automatically):
xmlns:materialIcons="clr-namespace:Material.Icons.WPF;assembly=Material.Icons.WPF"
Use MaterialIcon control:
<materialIcons:MaterialIcon Kind="Abacus" />
The Foreground property controls the color of the icon.
Also, there is MaterialIconExt which allows you to use is as the markup extension:
<Button Content="{materialIcons:MaterialIconExt Kind=Abacus}" />
WinUI3
Getting started
Install Material.Icons.WinUI3 nuget package:
dotnet add package Material.Icons.WinUI3
Using
Add Material.Icons.WinUI3 namespace to the root element of your file (your IDE can suggest it or do it automatically):
xmlns:materialIcons="using:Material.Icons.WinUI3"
Use MaterialIcon control:
<materialIcons:MaterialIcon Kind="Abacus" />
The Foreground property controls the color of the icon.
Also, there is MaterialIconExt which allows you to use is as the markup extension:
<Button Content="{materialIcons:MaterialIconExt Kind=Abacus}" />
Meta
Getting started
Install Material.Icons nuget package:
dotnet add package Material.Icons
Using
Icon types stored in Material.Icons.MaterialIconKind enum.
We can resolve an icon path by using Material.Icons.MaterialIconDataProvider.GetData().
Adding your own icons
Currently, there is no way to add your own icons, as icons are enum and cannot be modified.
But you can override some existing icons to use your own data:
public class CustomIconProvider : MaterialIconDataProvider
{
public override string ProvideData(MaterialIconKind kind)
{
return kind switch
{
MaterialIconKind.TrophyVariant => "some SVG code",
_ => base.ProvideData(kind)
};
}
}
// When your application starts (e.g. in the Main method) replace MaterialIconDataProvider with your own
public static int Main(string[] args)
{
MaterialIconDataProvider.Instance = new CustomIconProvider(); // Settings custom provider
// Application startup code
// return BuildAvaloniaApp().StartWithClassicDesktopLifetime(args);
}
Animations
MaterialIcon and it extensions supports pre-defined animations:
- None
- Spin (Circular spinning)
- SpinCcw (Circular spinning in CCW)
- Pulse (Step circular spinning)
- PulseCcw (Step circular spinning in CCW)
- FadeOutIn (Fade out and in)
- FadeInOut (Fade in and out)
<MaterialIcons:MaterialIcon Kind="Refresh" Animation="Spin" />
<MaterialIcons:MaterialIcon Kind="Heart" Foreground="DeepPink" Animation="FadeInOut" />
FAQ
How to change icon color?
- Change
Foregroundproperty.
How to change size?
- If you are using
MaterialIconcontrol - useWidthor/andHeightproperties. - If you are using
MaterialIconExt- useSizeproperty.
How to update icons?
- You can manually set
Material.Iconspackage version in your project file.
What about versioning policy?
- We use semver.
Any package with identical major and minor versions is compatible.
For example,1.0.0and1.0.1are compatible, but1.0.0and1.1.0might not be.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Avalonia (>= 11.3.0)
- Material.Icons (>= 3.0.0)
NuGet packages (35)
Showing the top 5 NuGet packages that depend on Material.Icons.Avalonia:
| Package | Downloads |
|---|---|
|
Ahsoka.DeveloperTools.Core
Package Description |
|
|
ArtemisRGB.UI.Shared
Package Description |
|
|
M56X.AvaloniaCore
Package Description |
|
|
Ahsoka.Extensions.AudioManager.UX
Package Description |
|
|
MattEqualsCoder.AvaloniaControls
Package Description |
GitHub repositories (24)
Showing the top 20 popular GitHub repositories that depend on Material.Icons.Avalonia:
| Repository | Stars |
|---|---|
|
Tyrrrz/YoutubeDownloader
Downloads videos and playlists from YouTube
|
|
|
Tyrrrz/DiscordChatExporter
Saves Discord chat logs to a file
|
|
|
Tyrrrz/YoutubeExplode
Abstraction layer over YouTube's internal API
|
|
|
Tyrrrz/LightBulb
Reduces eye strain by adjusting screen gamma based on the current time
|
|
|
kikipoulet/SukiUI
UI Theme for AvaloniaUI
|
|
|
Uotan-Dev/UotanToolboxNT
现代化 Android & OpenHarmony 工具箱 | A Modern Toolbox for Android & OpenHarmony Devices
|
|
|
sn4k3/NetSonar
Network pings and other utilities
|
|
|
Artemis-RGB/Artemis
Provides advanced unified lighting across many different brands RGB peripherals
|
|
|
AvaloniaCommunity/Material.Avalonia
Material design in AvaloniaUI
|
|
|
SwaggyMacro/LottieViewConvert
A powerful cross-platform desktop application for converting TGS (Telegram Stickers), Discord animmated stickers and Lottie animations to various formats including GIF, WebP, APNG, MP4, MKV, AVIF, and WebM. Support download telegram sticker from sticker link. 电报、Discord、Lottie动画转换工具,支持 Gif、WebP、APNG、MP4 等常见格式,支持直接下载电报、Discord贴纸包。
|
|
|
bcssov/IronyModManager
Mod Manager for Paradox Games. Official Discord: https://discord.gg/t9JmY8KFrV
|
|
|
flarive/Neumorphism.Avalonia
Neumorphism UI theme for .net Avalonia UI apps
|
|
|
DeltaJordan/BotW-Save-Manager
BOTW Save Manager for Switch and Wii U
|
|
|
PXDiv/Div-Acer-Manager-Max
Div Acer Manager Max is a Linux GUI for Acer laptops using Linuwu Sense drivers. It replicates NitroSense functionality with fan control, performance modes, battery limiter, and more. Built with Avalonia, it offers a clean, easy-to-use interface for managing system performance and cooling.
|
|
|
h4lfheart/FortnitePorting
Lightning-Quick Automation of the Fortnite Porting Process
|
|
|
AvaloniaUtils/DialogHost.Avalonia
AvaloniaUI control that provides a simple way to display a dialog with information or prompt the user when information is needed
|
|
|
the-database/VideoJaNai
GUI for upscaling ONNX models with NVIDIA TensorRT and Vapoursynth
|
|
|
qiuqiuqiu131/SukiChat.Client
|
|
|
center2055/OnionHop
Privacy-first Windows app that routes your traffic through Tor - Anonymous browsing made simple
|
|
|
MeltyPlayer/MeltyTool
Multitool for viewing/extracting assets from various N64/GCN/3DS/PC games en-masse.
|
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0 | 19 | 2/19/2026 |
| 3.0.0-preview7.5 | 23 | 2/19/2026 |
| 3.0.0-preview7.4 | 19 | 2/19/2026 |
| 3.0.0-preview7 | 837 | 2/7/2026 |
| 3.0.0-preview6 | 1,166 | 1/17/2026 |
| 3.0.0-preview5 | 679 | 12/25/2025 |
| 3.0.0-preview4 | 190 | 12/24/2025 |
| 3.0.0-preview3.1 | 6,103 | 7/28/2025 |
| 3.0.0-preview1.1 | 4,827 | 5/1/2025 |
| 3.0.0-avalonia12 | 16 | 2/19/2026 |
| 2.4.1 | 90,918 | 4/27/2025 |
| 2.4.0 | 2,139 | 4/21/2025 |
| 2.3.1 | 20,446 | 3/8/2025 |
| 2.3.0 | 2,747 | 3/2/2025 |
| 2.2.0 | 34,101 | 1/21/2025 |
| 2.1.12 | 2,683 | 1/20/2025 |
| 2.1.11 | 1,486 | 1/16/2025 |
| 2.1.10 | 117,245 | 6/20/2024 |
| 2.1.9 | 19,512 | 4/9/2024 |
| 2.1.0 | 34,210 | 12/9/2023 |
## What's Changed
* Implement auto sized icons based on FontSize by @sn4k3 in https://github.com/SKProCH/Material.Icons/pull/46
* Implements IImage on MaterialIcon by @sn4k3 in https://github.com/SKProCH/Material.Icons/pull/54
* Rework MaterialIconText by @sn4k3 in https://github.com/SKProCH/Material.Icons/pull/56
* Better extension constructors by @sn4k3 in https://github.com/SKProCH/Material.Icons/pull/57
* Add cache to icons by @sn4k3 in https://github.com/SKProCH/Material.Icons/pull/51
* MaterialIconTextExt Ignore pseudo-classes replication, otherwise crash by @sn4k3 in https://github.com/SKProCH/Material.Icons/pull/59
* Allow Bindings under MaterialIconExt by @sn4k3 in https://github.com/SKProCH/Material.Icons/pull/60
* Fix Geometry Reuse Exception in Material Icons for WinUI3 by @QWERTYkez in https://github.com/SKProCH/Material.Icons/pull/63
* Allow Kind to be nullable by @sn4k3 in https://github.com/SKProCH/Material.Icons/pull/62
## New Contributors
* @QWERTYkez made their first contribution in https://github.com/SKProCH/Material.Icons/pull/63
**Full Changelog**: https://github.com/SKProCH/Material.Icons/compare/v2.4.1...v3.0.0