Install
| Product | Versions |
|---|---|
| .NET |
README
IRIHI Iconica
English | ็ฎไฝไธญๆ
Avalonia icon libraries that ship popular open-source icon sets as native, runtime-customizable controls โ no SVG files, no asset management, full type safety.
| Package | NuGet | Icons | Icon source |
|---|---|---|---|
| Irihi.Iconica.IconPark | Apache-2.0 | 2,600+ | ByteDance IconPark |
| Irihi.Iconica.TDesign | Apache-2.0 | 2,300+ | Tencent TDesign Icons |
Why this library?
Instead of importing individual SVG files as static resources, every icon is generated as a strongly-typed Avalonia control that renders through DrawingContext. That gives you:
- Runtime customization โ change colors, stroke width, line caps and joins from XAML or code, even at runtime
- Multiple display modes โ IconPark supports
Line,Fill,TwoToneandMultiColor; TDesign supports outline/filled variants - Type safety & IntelliSense โ every icon is a C# class with a predictable name
- No asset overhead โ no SVG files to manage, no naming conflicts, everything is compiled into the library
- Performance โ pre-parsed geometry data for efficient rendering
Getting started
Install
dotnet add package Irihi.Iconica.IconPark # IconPark icons
dotnet add package Irihi.Iconica.TDesign # TDesign icons
Usage (XAML)
<Window xmlns="https://github.com/avaloniaui"
xmlns:iconpark="https://irihi.tech/iconica/iconpark"
xmlns:tdicon="https://irihi.tech/iconica/tdesign">
<StackPanel>
<!-- IconPark: basic icon -->
<iconpark:Bear Width="24" Height="24" />
<!-- IconPark: runtime customization -->
<iconpark:Bear Width="48" Height="48"
Mode="TwoTone"
OuterStroke="#333333"
OuterFill="#2F88FF"
InnerStroke="White"
InnerFill="#43CCF8"
StrokeWidth="4"
LineCap="Round" />
<!-- TDesign icons -->
<tdicon:AddCircle />
<tdicon:AddCircleFilled />
<tdicon:User Mode="FilledMultiple" />
</StackPanel>
</Window>
For per-package details, see the package READMEs:
Repository layout
src/
โโโ Irihi.Iconica.Core/ # Shared core (icon base types)
โโโ Irihi.Iconica.IconPark/ # IconPark package
โโโ Irihi.Iconica.TDesign/ # TDesign package
โโโ IconGenerator.IconPark/ # Generates IconPark icon classes from SVG
โโโ IconGenerator.TDesign/ # Generates TDesign icon classes from SVG
demo/
โโโ Irihi.Iconica.Demo/ # Icon gallery demo
โโโ Irihi.Iconica.Demo.Desktop/ # Desktop demo host
โโโ Irihi.Iconica.Demo.Browser/ # Browser demo host
external/
โโโ iconpark/ # IconPark source (git submodule)
โโโ tdesign-icons/ # TDesign Icons source (git submodule)
Building from source
Prerequisites
- .NET 8.0 SDK or later
- Git
Steps
git clone https://github.com/irihitech/Irihi.Iconica.git
cd Irihi.Iconica
# Initialize the icon source submodules
git submodule update --init
# Build the solution
dotnet build Irihi.Iconica.slnx
To regenerate icon classes after updating a submodule:
dotnet run --project src/IconGenerator.IconPark
dotnet run --project src/IconGenerator.TDesign
Run the demo
dotnet run --project demo/Irihi.Iconica.Demo.Desktop
The demo provides a searchable gallery of all icons with live customization options.
License
This repository is licensed under the Apache License 2.0 โ see LICENSE.
This product includes icons from:
- IconPark (https://github.com/bytedance/iconpark), Copyright 2019-present Bytedance Inc., Apache License 2.0
- TDesign Icons (https://github.com/Tencent/tdesign-icons), Copyright (c) 2021-present TDesign, MIT License
Attribution notices are included in each package's NOTICE file. Generated code and libraries: Copyright ยฉ 2025 IRIHI Technology Co., Ltd.
Adoption Assessment
A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.