NgIcons.Ionicons 33.0.1

dotnet add package NgIcons.Ionicons --version 33.0.1
                    
NuGet\Install-Package NgIcons.Ionicons -Version 33.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NgIcons.Ionicons" Version="33.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NgIcons.Ionicons" Version="33.0.1" />
                    
Directory.Packages.props
<PackageReference Include="NgIcons.Ionicons" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add NgIcons.Ionicons --version 33.0.1
                    
#r "nuget: NgIcons.Ionicons, 33.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package NgIcons.Ionicons@33.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=NgIcons.Ionicons&version=33.0.1
                    
Install as a Cake Addin
#tool nuget:?package=NgIcons.Ionicons&version=33.0.1
                    
Install as a Cake Tool

ngIcons for Blazor

A collection of 76,000+ icons from ng-icons-for-blazor packaged as .NET libraries for Blazor applications.

Overview

This project extracts SVG icons from the popular ng-icons Angular library and makes them available for Blazor developers. You can either:

  1. Install NuGet packages - Reference icon libraries as dependencies in your Blazor project
  2. Copy individual icons - Use the demo site to browse and copy icon markup directly into your components

Available Icon Libraries

Library NuGet Package
Akar Icons NgIcons.AkarIcons
Bootstrap Icons NgIcons.BootstrapIcons
Boxicons NgIcons.Boxicons
Circum Icons NgIcons.CircumIcons
Cryptocurrency Icons NgIcons.CryptocurrencyIcons
CSS.gg NgIcons.CssGg
Devicon NgIcons.Devicon
Dripicons NgIcons.Dripicons
Feather Icons NgIcons.FeatherIcons
Flag Icons NgIcons.FlagIcons
Font Awesome NgIcons.FontAwesome
Game Icons NgIcons.GameIcons
Heroicons NgIcons.Heroicons
Huge Icons NgIcons.HugeIcons
Iconoir NgIcons.Iconoir
Iconsax NgIcons.Iconsax
Ionicons NgIcons.Ionicons
Jam Icons NgIcons.JamIcons
Lets Icons NgIcons.LetsIcons
Lucide NgIcons.Lucide
Material File Icons NgIcons.MaterialFileIcons
Material Icons NgIcons.MaterialIcons
Material Symbols NgIcons.MaterialSymbols
Mynaui NgIcons.Mynaui
Octicons NgIcons.Octicons
Phosphor Icons NgIcons.PhosphorIcons
Radix Icons NgIcons.RadixIcons
Remixicon NgIcons.Remixicon
Simple Icons NgIcons.SimpleIcons
Solar Icons NgIcons.SolarIcons
SVGL NgIcons.Svgl
Tabler Icons NgIcons.TablerIcons
TDesign Icons NgIcons.TdesignIcons
Typicons NgIcons.Typicons
UX Aspects NgIcons.UxAspects

Usage

Using NuGet Packages

Install the icon library you need:

dotnet add package NgIcons.Heroicons

Then use icons in your Blazor components:

@using HeroIconSet = NgIcons.Heroicons.IconSet
@using MaterialIconSet = NgIcons.MaterialIcons.IconSet

<button class="btn btn-primary">
    @((MarkupString)HeroIconSet.heroArrowRight.WithSize(24))
    Continue
</button>

<button class="btn btn-secondary">
    @((MarkupString)MaterialIconSet.matSettings.WithSize(24))
    Settings
</button>

Copying Icons Directly

Visit the demo site to:

  1. Browse all available icon libraries
  2. Search for icons by name
  3. Click on any icon to copy the SVG markup
  4. Paste directly into your Blazor component

Contributing

Updating Icons

Icons are extracted from the ng-icons npm packages using the extract-icons.ts script. To update the icons:

Prerequisites
  • Node.js (v18 or later)
  • npm
Steps
  1. Install dependencies:

    npm install
    
  2. Update ng-icons packages to the latest version (optional):

    npm update
    
  3. Run the extraction script:

    npm run extract-icons
    

How the Extraction Script Works

The scripts/extract-icons.ts script performs the following:

  1. Reads each ng-icons npm package - Iterates through all configured icon libraries in the libraries array

  2. Extracts icon data - Loads the exported icon SVG strings from each package

  3. Generates .NET files for each library:

    • Icons.json - A JSON file containing all icon names and their SVG content, embedded as a resource
    • Icons.g.cs - A C# class (IconSet) that provides:
      • All property - Returns all icons as IReadOnlyDictionary<string, IconDefinition>
      • Get(name) / TryGet(name, out icon) methods - Retrieve a specific icon by name
      • Individual properties for each icon (e.g., heroArrowRight) for direct access with IntelliSense
  4. Updates the .csproj file - Syncs the package version with the npm package version and ensures Icons.json is embedded as a resource

  5. Updates the demo page title - Reflects the total icon count in the demo application

Adding a New Icon Library

To add support for a new ng-icons library:

  1. Install the npm package:

    npm install @ng-icons/new-library
    
  2. Add an entry to the libraries array in scripts/extract-icons.ts:

    { npm: '@ng-icons/new-library', project: 'NgIcons.NewLibrary' }
    
  3. Create a new .NET project:

    dotnet new classlib -n NgIcons.NewLibrary -o src/NgIcons.NewLibrary
    
  4. Add a reference to NgIcons.Core in the new project

  5. Run the extraction script:

    npm run extract-icons
    

License

Icons are sourced from ng-icons and retain their original licenses. Please refer to each icon library's license for usage terms.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
33.0.1 683 12/3/2025
33.0.0 683 12/2/2025