Skip to content
ToolShedby Wasim Shaikh

Angular Material Icons

Search 3,929 Material Symbols and the legacy Material Icons. Click an icon for its variants and examples, or copy its <mat-icon> code straight from the grid.

Loading all icons…

How to Use Material Symbols in Angular

  1. Load the font in src/index.html. This loads every axis of the Outlined style:
    <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200" />
  2. Import MatIconModule in your standalone component: imports: [MatIconModule] from @angular/material/icon.
  3. Use the icon by its name: <mat-icon>home</mat-icon>. To use Rounded or Sharp everywhere, set the default font set once:
    // app.config.ts
    import { ApplicationConfig, inject, provideAppInitializer } from '@angular/core';
    import { MatIconRegistry } from '@angular/material/icon';
    
    export const appConfig: ApplicationConfig = {
      providers: [
        provideAppInitializer(() => {
          inject(MatIconRegistry).setDefaultFontSetClass('material-symbols-rounded');
        }),
      ],
    };

Material Symbols vs Material Icons

Material SymbolsMaterial Icons (legacy)
StatusCurrent, updated by GoogleFrozen, no new icons
Icons3,9292,199
StylesOutlined, Rounded, SharpFilled, Outlined, Round, Sharp, Two Tone
CustomisationVariable font: fill, weight 100–700, grade, optical sizeNone beyond size and colour
CSS classmaterial-symbols-outlined (…-rounded, …-sharp)material-icons (…-outlined, …-round, …-sharp, …-two-tone)
mat-icon defaultDefault font set in current Angular Material docsNeeds fontSet or setDefaultFontSetClass

Renamed Icons

327 legacy names are not in Material Symbols. Most _outline icons were folded into the base icon, because Symbols draws the outline by default and fills it with the FILL axis. The most used ones:

Frequently Asked Questions

Why does my mat-icon show the icon name as text instead of the icon?
The icon font is not loaded, or mat-icon is using a different font set. Add the Material Symbols <link> to index.html, and make sure the font set class matches it: either set fontSet on the icon or call MatIconRegistry.setDefaultFontSetClass once at startup.
What is the difference between Material Icons and Material Symbols?
Material Symbols is the current icon set, built as a variable font with fill, weight, grade and optical size axes. The older Material Icons font is no longer updated. Most names are the same, but a few hundred legacy names (often ending in _outline) were dropped or renamed.
How do I use Rounded or Sharp icons with mat-icon?
Load the Material Symbols Rounded or Sharp stylesheet, then either add fontSet="material-symbols-rounded" to each mat-icon, or make it the default with MatIconRegistry.setDefaultFontSetClass('material-symbols-rounded').
How do I make a Material Symbols icon filled?
Material Symbols uses the FILL axis instead of separate filled icons. Set font-variation-settings: 'FILL' 1 on the icon's CSS class, or on a single icon with a class of your own.
Can I change the icon colour and size?
Yes. Icons are text, so color sets the colour and font-size sets the size. For mat-icon you can also use the color input with your theme colours. Use the optical size axis (opsz) to keep strokes balanced at very small or large sizes.
How do I use an SVG icon with MatIconRegistry?
Download the SVG from an icon page, save it in your public folder and register it with MatIconRegistry.addSvgIcon. Then use <mat-icon svgIcon="name">. SVG icons avoid loading an icon font at all.
Is the icon font heavy?
The full Material Symbols variable font is several megabytes. Request only the axes you use, or add &icon_names= to the Google Fonts URL to download just the icons your app uses.

Sources

Icon names, categories and tags come from Google Fonts' icon catalogue. Last updated .

Upgrading an older app first? The Angular Material Upgrade Planner lists every step, including the move to Material 3 theming.

Related Tools