Quick start

1. Install

bash
dotnet add package ShellIcons.Blazor

2. Import the namespace

Once, in Components/_Imports.razor:

razor
@using ShellIcons

3. Render icons

Every icon is a component named {Name}Icon. IntelliSense the name you want — <Chevron will suggest ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, and so on.

When the icon is a value — a RenderFragment parameter on another component, or an item in a list — use the factory instead:

razor
<NavItem Href="/" Label="Home" Icon="@Icon.House()" />

4. Size and stroke

Size accepts any SVG width value:

Stroke width via StrokeWidth:

5. Color via CSS

Every icon uses stroke="currentColor". Set color on any ancestor — no Color prop:

6. Accessibility

By default icons are decorative (aria-hidden="true"). Add Title to make them announce to screen readers:

7. Look up icons by string (dispatcher)

For dynamic use cases — icon names from JSON, markdown-authored content, CMS-driven UI — use the dispatcher:

Tradeoff: the dispatcher roots the full catalog, so it defeats Blazor's tree-shaking. Prefer typed icons for static usage; reach for the dispatcher when the icon name is a runtime value.

Next