MudBlazor.FontIcons.MaterialSymbols
1.5.0
Prefix Reserved
dotnet add package MudBlazor.FontIcons.MaterialSymbols --version 1.5.0
NuGet\Install-Package MudBlazor.FontIcons.MaterialSymbols -Version 1.5.0
<PackageReference Include="MudBlazor.FontIcons.MaterialSymbols" Version="1.5.0" />
<PackageVersion Include="MudBlazor.FontIcons.MaterialSymbols" Version="1.5.0" />
<PackageReference Include="MudBlazor.FontIcons.MaterialSymbols" />
paket add MudBlazor.FontIcons.MaterialSymbols --version 1.5.0
#r "nuget: MudBlazor.FontIcons.MaterialSymbols, 1.5.0"
#:package MudBlazor.FontIcons.MaterialSymbols@1.5.0
#addin nuget:?package=MudBlazor.FontIcons.MaterialSymbols&version=1.5.0
#tool nuget:?package=MudBlazor.FontIcons.MaterialSymbols&version=1.5.0
Material Symbols for MudBlazor
MudBlazor.FontIcons.MaterialSymbols puts Google's Material Symbols in your MudBlazor app: 3,800+ icons in Outlined, Rounded, and Sharp styles, each a strongly typed C# constant with IntelliSense, served by self-hosted fonts.
Install
dotnet add package MudBlazor.FontIcons.MaterialSymbols
Requires MudBlazor 7.0.0+ and .NET 8, 9, or 10.
Add the stylesheet
Add this next to your MudBlazor stylesheet (in App.razor, wwwroot/index.html, or your host page):
<link href="_content/MudBlazor.FontIcons.MaterialSymbols/css/font.min.css" rel="stylesheet" />
The fonts ship in the package and are served by your app. No CDN, no internet required at runtime.
Use an icon
Pass a constant to MudIcon, or to any MudBlazor component with an icon parameter:
<MudIcon Icon="@MudBlazor.FontIcons.MaterialSymbols.Outlined.Database" />
<MudIconButton Icon="@MudBlazor.FontIcons.MaterialSymbols.Rounded.Settings" />
<MudButton StartIcon="@MudBlazor.FontIcons.MaterialSymbols.Sharp.Download">Download</MudButton>
Browse Google Fonts to find an icon, then PascalCase its name: rocket_launch becomes Outlined.RocketLaunch. Names starting with a digit get an underscore: 10k becomes Outlined._10K.
Available styles
| C# class | Style |
|---|---|
MaterialSymbols.Outlined |
Outlined, the Material 3 default |
MaterialSymbols.Rounded |
Rounded corners |
MaterialSymbols.Sharp |
Squared corners |
Shorten names with an alias
The full namespace is a mouthful. Alias it in _Imports.razor:
@using MaterialSymbols = MudBlazor.FontIcons.MaterialSymbols
<MudIcon Icon="@MaterialSymbols.Outlined.Database" />
Note: A Razor compiler limitation means aliases only work from
_Imports.razor, not from individual.razorpages.
Optional: preload fonts
Fonts download when the first icon appears, so icons can briefly flash as text. To avoid that, preload the styles you use, before the stylesheet link:
<link rel="preload"
href="_content/MudBlazor.FontIcons.MaterialSymbols/font/MaterialSymbolsOutlined.woff2"
as="font"
type="font/woff2"
crossorigin>
<link href="_content/MudBlazor.FontIcons.MaterialSymbols/css/font.min.css" rel="stylesheet" />
The other styles follow the same pattern: MaterialSymbolsRounded.woff2 and MaterialSymbolsSharp.woff2. Preload only what you use; each preload is a download on every page load.
Optional: Google Fonts CDN
Prefer Google's CDN? Swap the package stylesheet for:
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined" rel="stylesheet" />
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded" rel="stylesheet" />
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp" rel="stylesheet" />
The C# constants work the same either way.
Troubleshooting
Icons render as text, like "database". The stylesheet isn't loading. Check the <link> tag and watch the browser's network tab for a 404 on font.min.css.
An alias won't compile. It has to live in _Imports.razor. See the note above.
An icon from Google Fonts is missing. Google adds symbols faster than releases ship. Open an issue to request a refresh.
Related links
- MudBlazor.Icons repository: source, issues, contributing
- MudBlazor.FontIcons.MaterialIcons: companion pack for classic Material Icons, with Filled and Two-Tone styles
- MudBlazor documentation
- Browse Material Symbols on Google Fonts
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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 is compatible. 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 is compatible. 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. |
-
net10.0
- Microsoft.AspNetCore.Components.Web (>= 8.0.29)
-
net8.0
- Microsoft.AspNetCore.Components.Web (>= 8.0.29)
-
net9.0
- Microsoft.AspNetCore.Components.Web (>= 8.0.29)
NuGet packages (7)
Showing the top 5 NuGet packages that depend on MudBlazor.FontIcons.MaterialSymbols:
| Package | Downloads |
|---|---|
|
AMS-Utl
Package Description |
|
|
AonBlzrDevOps
Package Description |
|
|
Arkanis.Overlay.Domain
Contains the core domain models and business logic for the Arkanis Overlay. |
|
|
OutWit.Identity.Blazor
Blazor WebAssembly auth-side bits for WitIdentity-consuming applications: OIDC login/logout UI (LoginDisplay), authentication redirect handling, the TenantManifest / BrandingOptions / OidcClientSettings DTOs the server's /branding.json endpoint serves, and a thin IdentityShellLayout wrapper that fills the generic OutWit.Shared.Blazor.Shell shell with WitIdentity branding + login UI. The generic Material 3 shell + theme themselves live in OutWit.Shared.Blazor.Shell. |
|
|
OutWit.Shared.Blazor.Shell
Generic Blazor WebAssembly admin shell built on MudBlazor and Material 3: AppShellLayout (drawer + appbar + theme-toggle), AppShellFooter (dependency-free version badge), default light/dark theme, simple helpers. No product-specific dependencies — drop into any MudBlazor WASM app, pass Title/Header/LogoUrl as parameters, fill HeaderEnd / Footer slots for product-specific bits. |
GitHub repositories
This package is not used by any popular GitHub repositories.