search⌘K

Icon

Last Updated: September 2026

Icons are pictographical representations of meaning that can be used in place or in combination with labels. They are a faster means with which to communicate meaning for returning and power users.

Anatomy

link
Dotted grid scale: 8px
  1. 1Outlined
  2. 2Colored outline
  3. 3Solid
  4. 4Solid colored

Variants

link

Outlined (default)

Standard Material Symbol outline weight.

Filled

Sets the FILL axis for a solid glyph.

Colored

Applies a design-system Color token class.

Sized

size is rem (default 1). Optical size tracks size × 16.

Usage Guidelines

link

When to use

  • •To reinforce meaning next to labels, buttons, and empty states.
  • •When you need a Material Symbol or registered custom icon glyph.
  • •For status and affordance cues that stay consistent with the type scale.

When not to use

  • •As a primary action by itself — use IconButton with aria-label.
  • •For brand logos or complex illustrations — use dedicated assets.
  • •When the meaning is unclear without text — pair with a visible label.
checkDo

Pair icons with visible text when the action or status is critical.

closeDon't

Don't rely on an unlabeled icon for primary meaning.

checkDo

For icon-only actions, use IconButton (or wrap Icon) with aria-label.

closeDon't

Don't make a bare Icon the only click target without an accessible name.

Behaviors

link

Material Symbols

  • •icon accepts Material Symbol names (plus auto_awesome and custom registry keys).
  • •weight (100–900), grade, and filled map to font-variation-settings.
  • •size sets fontSize in rem and opsz to size × 16.

Custom icons

  • •Registered CustomIcon names render inline SVG instead of a font ligature.
  • •Custom SVGs scale from size × 16 pixels.

Composition

  • •Supports Base UI render prop to swap the host element.
  • •color defaults to inheriting surrounding text color via currentColor.

Content Guidelines

link

Choosing glyphs

  • •Prefer common Material Symbols already used in the product for consistency.
  • •Match metaphor to the action (add, edit, delete) — avoid decorative noise.

Sizing

  • •Align icon rem size with nearby type (≈1–1.25 beside labels, larger in empty states).
  • •Keep icon and label optically aligned in the same row.

Accessibility

link

Text & Labels

  • •Decorative icons next to visible text can be aria-hidden.
  • •Meaningful icon-only UI must expose a name via aria-label on a control.

ARIA attributes

  • •Default host is a span with data-icon set to the symbol name.
  • •Prefer IconButton for interactive icon-only buttons.

Keyboard Support

  • •Icon alone is not focusable.
  • •When rendered as a button via render or IconButton, Tab focuses; Space/Enter activates.

WCAG Compliance Standards

FAQs

link

What units does size use?

Rem. Default is 1 (16px optical size). Pass 1.5 for 24px-class icons.

How do I get a filled symbol?

Set filled={true}. That enables the FILL font variation axis.

Can I use any Material Symbol name?

Most Material Symbol names are typed. Some extras (e.g. auto_awesome) and customIcons keys are also allowed.

link