Skip to content

Icon buttons ​

Icon buttons help people take supplementary actions with a single tap.

Overview · Specs · Guidelines · Accessibility

Variants ​

Side by side view of default and toggle icon buttons.

  1. Default icon button
  2. Toggle icon button
VariantM3M3 Expressive
DefaultAvailableAvailable
Toggle (selection)AvailableAvailable

Configurations ​

Side by side view of size, shape, color, and width variations.

  1. Five sizes
  2. Two shapes
  3. Four color styles
  4. Three widths
CategoryOptionsM3M3 Expressive
SizeSmall (default)AvailableAvailable
SizeXS, M, L, XL--Available
ShapeRound (default)AvailableAvailable
ShapeSquare--Available
ColorFilled (default), tonal, outlined, standardAvailableAvailable
WidthDefaultAvailableAvailable
WidthNarrow, wide--Available

Tokens & specs ​

Icon button token sets are organized by common tokens, color, and size. Select the token set from the table’s menu. Learn about design tokens

Design tokens

Token table

Machine-readable relationship table

Icon buttons tokens · 9 token sets · 201 tokens · live token table · DSDB TOKEN_TABLE.0fe2282006ae098b

  • Default context: Theme: Light · Platform: Android · Audience: 3P · Motion scheme: Standard · Contrast: Default · iOS dark theme elevation: None · iOS weight setting: Default
  • Not configurable here (group default used): Font: Static · Language height: Small
  • Other contexts: Theme: Dark · Motion scheme: Expressive · Contrast: Medium contrast, High contrast. "Other contexts" lists values that differ from the default when only that one context changes.
  • Reference chain: aliases from the token to its source value (token → alias → … → value). "—" means the token holds a literal value.
  • Token sets requested by the page but missing from the data module: Icon button

Icon button - Color - Filled · md.comp.icon-button.filled · 31 tokens

For filled icon buttons.

GroupTokenTypeReference chainResolved valueOther contexts
Enabledmd.comp.icon-button.filled.container.colorColormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
Enabledmd.comp.icon-button.filled.unselected.container.colorColormd.sys.color.surface-container → md.ref.palette.neutral94#F3EDF7Dark: #211F26 via md.ref.palette.neutral12
Enabledmd.comp.icon-button.filled.selected.container.colorColormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
Enabledmd.comp.icon-button.filled.icon.colorColormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
Enabledmd.comp.icon-button.filled.unselected.icon.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Enabledmd.comp.icon-button.filled.selected.icon.colorColormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
Disabledmd.comp.icon-button.filled.disabled.container.colorColormd.sys.color.on-surface → md.ref.palette.neutral10#1D1B20Dark: #E6E0E9 via md.ref.palette.neutral90
Medium contrast: #000000 via md.ref.palette.neutral0
High contrast: #000000 via md.ref.palette.neutral0
Disabledmd.comp.icon-button.filled.disabled.container.opacityOpacity—0.1—
Disabledmd.comp.icon-button.filled.disabled.icon.colorColormd.sys.color.on-surface → md.ref.palette.neutral10#1D1B20Dark: #E6E0E9 via md.ref.palette.neutral90
Medium contrast: #000000 via md.ref.palette.neutral0
High contrast: #000000 via md.ref.palette.neutral0
Disabledmd.comp.icon-button.filled.disabled.icon.opacityOpacity—0.38—
Hoveredmd.comp.icon-button.filled.hovered.state-layer.colorColormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
Hoveredmd.comp.icon-button.filled.unselected.hovered.state-layer.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Hoveredmd.comp.icon-button.filled.selected.hovered.state-layer.colorColormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
Hoveredmd.comp.icon-button.filled.hovered.state-layer.opacityOpacitymd.sys.state.hover.state-layer-opacity0.08—
Hoveredmd.comp.icon-button.filled.hovered.icon.colorColormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
Hoveredmd.comp.icon-button.filled.unselected.hovered.icon.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Hoveredmd.comp.icon-button.filled.selected.hovered.icon.colorColormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
Focusedmd.comp.icon-button.filled.focused.state-layer.colorColormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
Focusedmd.comp.icon-button.filled.unselected.focused.state-layer.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Focusedmd.comp.icon-button.filled.selected.focused.state-layer.colorColormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
Focusedmd.comp.icon-button.filled.focused.state-layer.opacityOpacitymd.sys.state.focus.state-layer-opacity0.1—
Focusedmd.comp.icon-button.filled.focused.icon.colorColormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
Focusedmd.comp.icon-button.filled.unselected.focused.icon.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Focusedmd.comp.icon-button.filled.selected.focused.icon.colorColormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
Pressedmd.comp.icon-button.filled.pressed.state-layer.colorColormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
Pressedmd.comp.icon-button.filled.unselected.pressed.state-layer.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Pressedmd.comp.icon-button.filled.selected.pressed.state-layer.colorColormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
Pressedmd.comp.icon-button.filled.pressed.state-layer.opacityOpacitymd.sys.state.pressed.state-layer-opacity0.1—
Pressedmd.comp.icon-button.filled.pressed.icon.colorColormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
Pressedmd.comp.icon-button.filled.unselected.pressed.icon.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Pressedmd.comp.icon-button.filled.selected.pressed.icon.colorColormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20

Icon button - Color - Tonal · md.comp.icon-button.tonal · 31 tokens

For tonal icon buttons.

GroupTokenTypeReference chainResolved valueOther contexts
Enabledmd.comp.icon-button.tonal.container.colorColormd.sys.color.secondary-container → md.ref.palette.secondary90#E8DEF8Dark: #4A4458 via md.ref.palette.secondary30
Medium contrast: #625B71 via md.ref.palette.secondary40
High contrast: #4A4458 via md.ref.palette.secondary30
Enabledmd.comp.icon-button.tonal.unselected.container.colorColormd.sys.color.secondary-container → md.ref.palette.secondary90#E8DEF8Dark: #4A4458 via md.ref.palette.secondary30
Medium contrast: #625B71 via md.ref.palette.secondary40
High contrast: #4A4458 via md.ref.palette.secondary30
Enabledmd.comp.icon-button.tonal.selected.container.colorColormd.sys.color.secondary → md.ref.palette.secondary40#625B71Dark: #CCC2DC via md.ref.palette.secondary80
Medium contrast: #4A4458 via md.ref.palette.secondary30
High contrast: #332D41 via md.ref.palette.secondary20
Enabledmd.comp.icon-button.tonal.icon.colorColormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
Enabledmd.comp.icon-button.tonal.unselected.icon.colorColormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
Enabledmd.comp.icon-button.tonal.selected.icon.colorColormd.sys.color.on-secondary → md.ref.palette.secondary100#FFFFFFDark: #332D41 via md.ref.palette.secondary20
Disabledmd.comp.icon-button.tonal.disabled.container.colorColormd.sys.color.on-surface → md.ref.palette.neutral10#1D1B20Dark: #E6E0E9 via md.ref.palette.neutral90
Medium contrast: #000000 via md.ref.palette.neutral0
High contrast: #000000 via md.ref.palette.neutral0
Disabledmd.comp.icon-button.tonal.disabled.container.opacityOpacity—0.1—
Disabledmd.comp.icon-button.tonal.disabled.icon.colorColormd.sys.color.on-surface → md.ref.palette.neutral10#1D1B20Dark: #E6E0E9 via md.ref.palette.neutral90
Medium contrast: #000000 via md.ref.palette.neutral0
High contrast: #000000 via md.ref.palette.neutral0
Disabledmd.comp.icon-button.tonal.disabled.icon.opacityOpacity—0.38—
Hoveredmd.comp.icon-button.tonal.hovered.state-layer.colorColormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
Hoveredmd.comp.icon-button.tonal.unselected.hovered.state-layer.colorColormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
Hoveredmd.comp.icon-button.tonal.selected.hovered.state-layer.colorColormd.sys.color.on-secondary → md.ref.palette.secondary100#FFFFFFDark: #332D41 via md.ref.palette.secondary20
Hoveredmd.comp.icon-button.tonal.hovered.state-layer.opacityOpacitymd.sys.state.hover.state-layer-opacity0.08—
Hoveredmd.comp.icon-button.tonal.hovered.icon.colorColormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
Hoveredmd.comp.icon-button.tonal.unselected.hovered.icon.colorColormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
Hoveredmd.comp.icon-button.tonal.selected.hovered.icon.colorColormd.sys.color.on-secondary → md.ref.palette.secondary100#FFFFFFDark: #332D41 via md.ref.palette.secondary20
Focusedmd.comp.icon-button.tonal.focused.state-layer.colorColormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
Focusedmd.comp.icon-button.tonal.unselected.focused.state-layer.colorColormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
Focusedmd.comp.icon-button.tonal.selected.focused.state-layer.colorColormd.sys.color.on-secondary → md.ref.palette.secondary100#FFFFFFDark: #332D41 via md.ref.palette.secondary20
Focusedmd.comp.icon-button.tonal.focused.state-layer.opacityOpacitymd.sys.state.focus.state-layer-opacity0.1—
Focusedmd.comp.icon-button.tonal.focused.icon.colorColormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
Focusedmd.comp.icon-button.tonal.unselected.focused.icon.colorColormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
Focusedmd.comp.icon-button.tonal.selected.focused.icon.colorColormd.sys.color.on-secondary → md.ref.palette.secondary100#FFFFFFDark: #332D41 via md.ref.palette.secondary20
Pressedmd.comp.icon-button.tonal.pressed.state-layer.colorColormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
Pressedmd.comp.icon-button.tonal.unselected.pressed.state-layer.colorColormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
Pressedmd.comp.icon-button.tonal.selected.pressed.state-layer.colorColormd.sys.color.on-secondary → md.ref.palette.secondary100#FFFFFFDark: #332D41 via md.ref.palette.secondary20
Pressedmd.comp.icon-button.tonal.pressed.state-layer.opacityOpacitymd.sys.state.pressed.state-layer-opacity0.1—
Pressedmd.comp.icon-button.tonal.pressed.icon.colorColormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
Pressedmd.comp.icon-button.tonal.unselected.pressed.icon.colorColormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
Pressedmd.comp.icon-button.tonal.selected.pressed.icon.colorColormd.sys.color.on-secondary → md.ref.palette.secondary100#FFFFFFDark: #332D41 via md.ref.palette.secondary20

Icon button - Color - Outlined · md.comp.icon-button.outlined · 33 tokens

For outlined icon buttons.

GroupTokenTypeReference chainResolved valueOther contexts
Enabledmd.comp.icon-button.outlined.outline.colorColormd.sys.color.outline-variant → md.ref.palette.neutral-variant80#CAC4D0Dark: #49454F via md.ref.palette.neutral-variant30
Medium contrast: #79747E via md.ref.palette.neutral-variant50
High contrast: #49454F via md.ref.palette.neutral-variant30
Enabledmd.comp.icon-button.outlined.unselected.outline.colorColormd.sys.color.outline-variant → md.ref.palette.neutral-variant80#CAC4D0Dark: #49454F via md.ref.palette.neutral-variant30
Medium contrast: #79747E via md.ref.palette.neutral-variant50
High contrast: #49454F via md.ref.palette.neutral-variant30
Enabledmd.comp.icon-button.outlined.selected.container.colorColormd.sys.color.inverse-surface → md.ref.palette.neutral20#322F35Dark: #E6E0E9 via md.ref.palette.neutral90
Enabledmd.comp.icon-button.outlined.icon.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Enabledmd.comp.icon-button.outlined.unselected.icon.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Enabledmd.comp.icon-button.outlined.selected.icon.colorColormd.sys.color.inverse-on-surface → md.ref.palette.neutral95#F5EFF7Dark: #322F35 via md.ref.palette.neutral20
Medium contrast: #FFFFFF via md.ref.palette.neutral100
High contrast: #FFFFFF via md.ref.palette.neutral100
Disabledmd.comp.icon-button.outlined.disabled.outline.colorColormd.sys.color.outline-variant → md.ref.palette.neutral-variant80#CAC4D0Dark: #49454F via md.ref.palette.neutral-variant30
Medium contrast: #79747E via md.ref.palette.neutral-variant50
High contrast: #49454F via md.ref.palette.neutral-variant30
Disabledmd.comp.icon-button.outlined.unselected.disabled.outline.colorColormd.sys.color.outline-variant → md.ref.palette.neutral-variant80#CAC4D0Dark: #49454F via md.ref.palette.neutral-variant30
Medium contrast: #79747E via md.ref.palette.neutral-variant50
High contrast: #49454F via md.ref.palette.neutral-variant30
Disabledmd.comp.icon-button.outlined.selected.disabled.container.colorColormd.sys.color.on-surface → md.ref.palette.neutral10#1D1B20Dark: #E6E0E9 via md.ref.palette.neutral90
Medium contrast: #000000 via md.ref.palette.neutral0
High contrast: #000000 via md.ref.palette.neutral0
Disabledmd.comp.icon-button.outlined.selected.disabled.container.opacityOpacity—0.1—
Disabledmd.comp.icon-button.outlined.disabled.icon.colorColormd.sys.color.on-surface → md.ref.palette.neutral10#1D1B20Dark: #E6E0E9 via md.ref.palette.neutral90
Medium contrast: #000000 via md.ref.palette.neutral0
High contrast: #000000 via md.ref.palette.neutral0
Disabledmd.comp.icon-button.outlined.disabled.icon.opacityOpacity—0.38—
Hoveredmd.comp.icon-button.outlined.hovered.state-layer.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Hoveredmd.comp.icon-button.outlined.unselected.hovered.state-layer.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Hoveredmd.comp.icon-button.outlined.selected.hovered.state-layer.colorColormd.sys.color.inverse-on-surface → md.ref.palette.neutral95#F5EFF7Dark: #322F35 via md.ref.palette.neutral20
Medium contrast: #FFFFFF via md.ref.palette.neutral100
High contrast: #FFFFFF via md.ref.palette.neutral100
Hoveredmd.comp.icon-button.outlined.hovered.state-layer.opacityOpacitymd.sys.state.hover.state-layer-opacity0.08—
Hoveredmd.comp.icon-button.outlined.hovered.icon.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Hoveredmd.comp.icon-button.outlined.unselected.hovered.icon.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Hoveredmd.comp.icon-button.outlined.selected.hovered.icon.colorColormd.sys.color.inverse-on-surface → md.ref.palette.neutral95#F5EFF7Dark: #322F35 via md.ref.palette.neutral20
Medium contrast: #FFFFFF via md.ref.palette.neutral100
High contrast: #FFFFFF via md.ref.palette.neutral100
Focusedmd.comp.icon-button.outlined.focused.state-layer.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Focusedmd.comp.icon-button.outlined.unselected.focused.state-layer.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Focusedmd.comp.icon-button.outlined.selected.focused.state-layer.colorColormd.sys.color.inverse-on-surface → md.ref.palette.neutral95#F5EFF7Dark: #322F35 via md.ref.palette.neutral20
Medium contrast: #FFFFFF via md.ref.palette.neutral100
High contrast: #FFFFFF via md.ref.palette.neutral100
Focusedmd.comp.icon-button.outlined.focused.state-layer.opacityOpacitymd.sys.state.focus.state-layer-opacity0.1—
Focusedmd.comp.icon-button.outlined.focused.icon.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Focusedmd.comp.icon-button.outlined.unselected.focused.icon.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Focusedmd.comp.icon-button.outlined.selected.focused.icon.colorColormd.sys.color.inverse-on-surface → md.ref.palette.neutral95#F5EFF7Dark: #322F35 via md.ref.palette.neutral20
Medium contrast: #FFFFFF via md.ref.palette.neutral100
High contrast: #FFFFFF via md.ref.palette.neutral100
Pressedmd.comp.icon-button.outlined.pressed.state-layer.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Pressedmd.comp.icon-button.outlined.unselected.pressed.state-layer.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Pressedmd.comp.icon-button.outlined.selected.pressed.state-layer.colorColormd.sys.color.inverse-on-surface → md.ref.palette.neutral95#F5EFF7Dark: #322F35 via md.ref.palette.neutral20
Medium contrast: #FFFFFF via md.ref.palette.neutral100
High contrast: #FFFFFF via md.ref.palette.neutral100
Pressedmd.comp.icon-button.outlined.pressed.state-layer.opacityOpacitymd.sys.state.pressed.state-layer-opacity0.1—
Pressedmd.comp.icon-button.outlined.pressed.icon.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Pressedmd.comp.icon-button.outlined.unselected.pressed.icon.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Pressedmd.comp.icon-button.outlined.selected.pressed.icon.colorColormd.sys.color.inverse-on-surface → md.ref.palette.neutral95#F5EFF7Dark: #322F35 via md.ref.palette.neutral20
Medium contrast: #FFFFFF via md.ref.palette.neutral100
High contrast: #FFFFFF via md.ref.palette.neutral100

Icon button - Color - Standard · md.comp.icon-button.standard · 26 tokens

For standard icon buttons.

GroupTokenTypeReference chainResolved valueOther contexts
Enabledmd.comp.icon-button.standard.icon.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Enabledmd.comp.icon-button.standard.unselected.icon.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Enabledmd.comp.icon-button.standard.selected.icon.colorColormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
Disabledmd.comp.icon-button.standard.disabled.icon.colorColormd.sys.color.on-surface → md.ref.palette.neutral10#1D1B20Dark: #E6E0E9 via md.ref.palette.neutral90
Medium contrast: #000000 via md.ref.palette.neutral0
High contrast: #000000 via md.ref.palette.neutral0
Disabledmd.comp.icon-button.standard.disabled.icon.opacityOpacity—0.38—
Hoveredmd.comp.icon-button.standard.hovered.state-layer.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Hoveredmd.comp.icon-button.standard.unselected.hovered.state-layer.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Hoveredmd.comp.icon-button.standard.selected.hovered.state-layer.colorColormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
Hoveredmd.comp.icon-button.standard.hovered.state-layer.opacityOpacitymd.sys.state.hover.state-layer-opacity0.08—
Hoveredmd.comp.icon-button.standard.hovered.icon.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Hoveredmd.comp.icon-button.standard.unselected.hovered.icon.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Hoveredmd.comp.icon-button.standard.selected.hovered.icon.colorColormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
Focusedmd.comp.icon-button.standard.focused.state-layer.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Focusedmd.comp.icon-button.standard.unselected.focused.state-layer.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Focusedmd.comp.icon-button.standard.selected.focused.state-layer.colorColormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
Focusedmd.comp.icon-button.standard.focused.state-layer.opacityOpacitymd.sys.state.focus.state-layer-opacity0.1—
Focusedmd.comp.icon-button.standard.focused.icon.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Focusedmd.comp.icon-button.standard.unselected.focused.icon.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Focusedmd.comp.icon-button.standard.selected.focused.icon.colorColormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
Pressedmd.comp.icon-button.standard.pressed.state-layer.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Pressedmd.comp.icon-button.standard.unselected.pressed.state-layer.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Pressedmd.comp.icon-button.standard.selected.pressed.state-layer.colorColormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
Pressedmd.comp.icon-button.standard.pressed.state-layer.opacityOpacitymd.sys.state.pressed.state-layer-opacity0.1—
Pressedmd.comp.icon-button.standard.pressed.icon.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Pressedmd.comp.icon-button.standard.unselected.pressed.icon.colorColormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
Pressedmd.comp.icon-button.standard.selected.pressed.icon.colorColormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20

Icon button - Size - Xsmall · md.comp.icon-button.xsmall · 16 tokens

For XS icon buttons.

GroupTokenTypeReference chainResolved valueOther contexts
All tokensmd.comp.icon-button.xsmall.container.heightLength—32dp—
All tokensmd.comp.icon-button.xsmall.icon.sizeLength—20dp—
All tokensmd.comp.icon-button.xsmall.narrow.leading-spaceLengthmd.sys.measurement.space504dp—
All tokensmd.comp.icon-button.xsmall.narrow.trailing-spaceLengthmd.sys.measurement.space504dp—
All tokensmd.comp.icon-button.xsmall.default.leading-spaceLengthmd.sys.measurement.space756dp—
All tokensmd.comp.icon-button.xsmall.default.trailing-spaceLengthmd.sys.measurement.space756dp—
All tokensmd.comp.icon-button.xsmall.wide.leading-spaceLengthmd.sys.measurement.space12510dp—
All tokensmd.comp.icon-button.xsmall.wide.trailing-spaceLengthmd.sys.measurement.space12510dp—
All tokensmd.comp.icon-button.xsmall.container.shape.roundShapemd.sys.shape.corner.fullCircular (fully rounded)—
All tokensmd.comp.icon-button.xsmall.container.shape.squareShapemd.sys.shape.corner.mediumRounded corners 12dp—
All tokensmd.comp.icon-button.xsmall.outlined.outline.widthLength—1dp—
All tokensmd.comp.icon-button.xsmall.pressed.container.shapeShapemd.sys.shape.corner.smallRounded corners 8dp—
All tokensmd.comp.icon-button.xsmall.pressed.container.corner-size.motion.spring.dampingDurationmd.sys.motion.spring.fast.spatial.damping0.9Expressive: 0.6 via md.sys.motion.spring.fast.spatial.damping
All tokensmd.comp.icon-button.xsmall.pressed.container.corner-size.motion.spring.stiffnessDurationmd.sys.motion.spring.fast.spatial.stiffness1400Expressive: 800 via md.sys.motion.spring.fast.spatial.stiffness
All tokensmd.comp.icon-button.xsmall.selected.container.shape.roundShapemd.sys.shape.corner.mediumRounded corners 12dp—
All tokensmd.comp.icon-button.xsmall.selected.container.shape.squareShapemd.sys.shape.corner.fullCircular (fully rounded)—

Icon button - Size - Small · md.comp.icon-button.small · 16 tokens

For small icon buttons.

GroupTokenTypeReference chainResolved valueOther contexts
All tokensmd.comp.icon-button.small.container.heightLength—40dp—
All tokensmd.comp.icon-button.small.icon.sizeLength—24dp—
All tokensmd.comp.icon-button.small.narrow.leading-spaceLengthmd.sys.measurement.space504dp—
All tokensmd.comp.icon-button.small.narrow.trailing-spaceLengthmd.sys.measurement.space504dp—
All tokensmd.comp.icon-button.small.default.leading-spaceLengthmd.sys.measurement.space1008dp—
All tokensmd.comp.icon-button.small.default.trailing-spaceLengthmd.sys.measurement.space1008dp—
All tokensmd.comp.icon-button.small.wide.leading-spaceLengthmd.sys.measurement.space17514dp—
All tokensmd.comp.icon-button.small.wide.trailing-spaceLengthmd.sys.measurement.space17514dp—
All tokensmd.comp.icon-button.small.container.shape.roundShapemd.sys.shape.corner.fullCircular (fully rounded)—
All tokensmd.comp.icon-button.small.container.shape.squareShapemd.sys.shape.corner.mediumRounded corners 12dp—
All tokensmd.comp.icon-button.small.outlined.outline.widthLength—1dp—
All tokensmd.comp.icon-button.small.pressed.container.shapeShapemd.sys.shape.corner.smallRounded corners 8dp—
All tokensmd.comp.icon-button.small.pressed.container.corner-size.motion.spring.dampingDurationmd.sys.motion.spring.fast.spatial.damping0.9Expressive: 0.6 via md.sys.motion.spring.fast.spatial.damping
All tokensmd.comp.icon-button.small.pressed.container.corner-size.motion.spring.stiffnessDurationmd.sys.motion.spring.fast.spatial.stiffness1400Expressive: 800 via md.sys.motion.spring.fast.spatial.stiffness
All tokensmd.comp.icon-button.small.selected.container.shape.roundShapemd.sys.shape.corner.mediumRounded corners 12dp—
All tokensmd.comp.icon-button.small.selected.container.shape.squareShapemd.sys.shape.corner.fullCircular (fully rounded)—

Icon button - Size - Medium · md.comp.icon-button.medium · 16 tokens

For medium icon buttons.

GroupTokenTypeReference chainResolved valueOther contexts
All tokensmd.comp.icon-button.medium.container.heightLength—56dp—
All tokensmd.comp.icon-button.medium.icon.sizeLength—24dp—
All tokensmd.comp.icon-button.medium.narrow.leading-spaceLengthmd.sys.measurement.space15012dp—
All tokensmd.comp.icon-button.medium.narrow.trailing-spaceLengthmd.sys.measurement.space15012dp—
All tokensmd.comp.icon-button.medium.default.leading-spaceLengthmd.sys.measurement.space20016dp—
All tokensmd.comp.icon-button.medium.default.trailing-spaceLengthmd.sys.measurement.space20016dp—
All tokensmd.comp.icon-button.medium.wide.leading-spaceLengthmd.sys.measurement.space30024dp—
All tokensmd.comp.icon-button.medium.wide.trailing-spaceLengthmd.sys.measurement.space30024dp—
All tokensmd.comp.icon-button.medium.container.shape.roundShapemd.sys.shape.corner.fullCircular (fully rounded)—
All tokensmd.comp.icon-button.medium.container.shape.squareShapemd.sys.shape.corner.largeRounded corners 16dp—
All tokensmd.comp.icon-button.medium.outlined.outline.widthLength—1dp—
All tokensmd.comp.icon-button.medium.pressed.container.shapeShapemd.sys.shape.corner.mediumRounded corners 12dp—
All tokensmd.comp.icon-button.medium.pressed.container.corner-size.motion.spring.dampingDurationmd.sys.motion.spring.fast.spatial.damping0.9Expressive: 0.6 via md.sys.motion.spring.fast.spatial.damping
All tokensmd.comp.icon-button.medium.pressed.container.corner-size.motion.spring.stiffnessDurationmd.sys.motion.spring.fast.spatial.stiffness1400Expressive: 800 via md.sys.motion.spring.fast.spatial.stiffness
All tokensmd.comp.icon-button.medium.selected.container.shape.roundShapemd.sys.shape.corner.largeRounded corners 16dp—
All tokensmd.comp.icon-button.medium.selected.container.shape.squareShapemd.sys.shape.corner.fullCircular (fully rounded)—

Icon button - Size - Large · md.comp.icon-button.large · 16 tokens

For large icon buttons.

GroupTokenTypeReference chainResolved valueOther contexts
All tokensmd.comp.icon-button.large.container.heightLength—96dp—
All tokensmd.comp.icon-button.large.icon.sizeLength—32dp—
All tokensmd.comp.icon-button.large.narrow.leading-spaceLengthmd.sys.measurement.space20016dp—
All tokensmd.comp.icon-button.large.narrow.trailing-spaceLengthmd.sys.measurement.space20016dp—
All tokensmd.comp.icon-button.large.default.leading-spaceLengthmd.sys.measurement.space40032dp—
All tokensmd.comp.icon-button.large.default.trailing-spaceLengthmd.sys.measurement.space40032dp—
All tokensmd.comp.icon-button.large.wide.leading-spaceLengthmd.sys.measurement.space60048dp—
All tokensmd.comp.icon-button.large.wide.trailing-spaceLengthmd.sys.measurement.space60048dp—
All tokensmd.comp.icon-button.large.container.shape.roundShapemd.sys.shape.corner.fullCircular (fully rounded)—
All tokensmd.comp.icon-button.large.container.shape.squareShapemd.sys.shape.corner.extra-largeRounded corners 28dp—
All tokensmd.comp.icon-button.large.outlined.outline.widthLength—2dp—
All tokensmd.comp.icon-button.large.pressed.container.shapeShapemd.sys.shape.corner.largeRounded corners 16dp—
All tokensmd.comp.icon-button.large.pressed.container.corner-size.motion.spring.dampingDurationmd.sys.motion.spring.fast.spatial.damping0.9Expressive: 0.6 via md.sys.motion.spring.fast.spatial.damping
All tokensmd.comp.icon-button.large.pressed.container.corner-size.motion.spring.stiffnessDurationmd.sys.motion.spring.fast.spatial.stiffness1400Expressive: 800 via md.sys.motion.spring.fast.spatial.stiffness
All tokensmd.comp.icon-button.large.selected.container.shape.roundShapemd.sys.shape.corner.extra-largeRounded corners 28dp—
All tokensmd.comp.icon-button.large.selected.container.shape.squareShapemd.sys.shape.corner.fullCircular (fully rounded)—

Icon button - Size - Xlarge · md.comp.icon-button.xlarge · 16 tokens

For XL icon buttons.

GroupTokenTypeReference chainResolved valueOther contexts
All tokensmd.comp.icon-button.xlarge.container.heightLength—136dp—
All tokensmd.comp.icon-button.xlarge.icon.sizeLength—40dp—
All tokensmd.comp.icon-button.xlarge.narrow.leading-spaceLengthmd.sys.measurement.space40032dp—
All tokensmd.comp.icon-button.xlarge.narrow.trailing-spaceLengthmd.sys.measurement.space40032dp—
All tokensmd.comp.icon-button.xlarge.default.leading-spaceLengthmd.sys.measurement.space60048dp—
All tokensmd.comp.icon-button.xlarge.default.trailing-spaceLengthmd.sys.measurement.space60048dp—
All tokensmd.comp.icon-button.xlarge.wide.leading-spaceLengthmd.sys.measurement.space90072dp—
All tokensmd.comp.icon-button.xlarge.wide.trailing-spaceLengthmd.sys.measurement.space90072dp—
All tokensmd.comp.icon-button.xlarge.container.shape.roundShapemd.sys.shape.corner.fullCircular (fully rounded)—
All tokensmd.comp.icon-button.xlarge.container.shape.squareShapemd.sys.shape.corner.extra-largeRounded corners 28dp—
All tokensmd.comp.icon-button.xlarge.outlined.outline.widthLength—3dp—
All tokensmd.comp.icon-button.xlarge.pressed.container.shapeShapemd.sys.shape.corner.largeRounded corners 16dp—
All tokensmd.comp.icon-button.xlarge.pressed.container.corner-size.motion.spring.dampingDurationmd.sys.motion.spring.fast.spatial.damping0.9Expressive: 0.6 via md.sys.motion.spring.fast.spatial.damping
All tokensmd.comp.icon-button.xlarge.pressed.container.corner-size.motion.spring.stiffnessDurationmd.sys.motion.spring.fast.spatial.stiffness1400Expressive: 800 via md.sys.motion.spring.fast.spatial.stiffness
All tokensmd.comp.icon-button.xlarge.selected.container.shape.roundShapemd.sys.shape.corner.extra-largeRounded corners 28dp—
All tokensmd.comp.icon-button.xlarge.selected.container.shape.squareShapemd.sys.shape.corner.fullCircular (fully rounded)—

Anatomy ​

Diagram indicating anatomy of filled icon button.

  1. Icon 
  2. Container

Color ​

Color values are implemented through design tokens. For designers, this means working with color values that correspond with tokens; in implementation, a color value will be a token that references a value.

There are four built-in color styles: filled, tonal, outlined, and standard. Default and toggle buttons use different color roles per style.

Note

These color roles were chosen to create design coherence and familiarity. Other color roles can be used as long as the container and text have a 3:1 contrast ratio. For example, tertiary and on tertiary.

Color roles of default and toggle buttons in 4 visual styles.

A: Filled, B: Tonal, C: Outlined, D: Standard

  1. Default
  2. Toggle, unselected
  3. Toggle, selected
1. Default2. Toggle, unselected3. Toggle, selected
Filled container
Filled icon
Primary
On primary
Surface container
On surface variant
Primary
On primary
Tonal container
Tonal icon
Secondary container
On secondary container
Secondary container
On secondary container
Secondary
On secondary
Outlined container
Outlined icon
Outline variant (outline)
On surface variant
Outline variant (outline)
On surface variant
Inverse surface
Inverse on surface
Standard iconOn surface variantOn surface variantPrimary

States ​

States are visual representations used to communicate the status of a component or interactive element. State layers slightly change button color. Disabled states have different base colors. View tokens for details

Filled button states ​

Default ​

5 states of filled icon button.

  1. Enabled 
  2. Disabled (10% state layer)
  3. Hovered (8% state layer)
  4. Focused (10% state layer)
  5. Pressed (10% state layer)

Toggle ​

5 states of filled toggle icon button.

A: Unselected. B: Selected

  1. Enabled 
  2. Disabled (10% state layer)
  3. Hovered (8% state layer)
  4. Focused (10% state layer)
  5. Pressed (10% state layer)

Tonal button states ​

Default ​

5 states of tonal icon button.

  1. Enabled 
  2. Disabled (10% state layer)
  3. Hovered (8% state layer)
  4. Focused (10% state layer)
  5. Pressed (10% state layer)

Toggle ​

5 states of tonal toggle icon button.

A: Unselected. B: Selected

  1. Enabled 
  2. Disabled (10% state layer)
  3. Hovered (8% state layer)
  4. Focused (10% state layer)
  5. Pressed (10% state layer)

Outlined button states ​

Default ​

5 states of outlined icon button.

  1. Enabled 
  2. Disabled (10% state layer)
  3. Hovered (8% state layer)
  4. Focused (10% state layer)
  5. Pressed (10% state layer)

Toggle ​

5 states of outlined toggle icon button.

A: Unselected. B: Selected

  1. Enabled 
  2. Disabled (10% state layer)
  3. Hovered (8% state layer)
  4. Focused (10% state layer)
  5. Pressed (10% state layer)

Standard icon button states ​

The standard icon button’s container is invisible at rest, but visible when the state layer is applied.

Default ​

5 states of standard icon button.

  1. Enabled 
  2. Disabled (10% state layer)
  3. Hovered (8% state layer)
  4. Focused (10% state layer)
  5. Pressed (10% state layer)

Toggle ​

5 states of standard toggle icon button.

A: Unselected. B: Selected

  1. Enabled 
  2. Disabled (10% state layer)
  3. Hovered (8% state layer)
  4. Focused (10% state layer)
  5. Pressed (10% state layer)

Shape morph ​

Pressed state ​

While pressed, icon buttons can morph to become more square. 

Both round and square icon buttons should have the same pressed shape radius.

The corner radius value differs for each button size. See full icon button corner measurements

Shape changes for round and square icon buttons in 3 states.

A. Round, B. Square

  1. Enabled
  2. Hovered
  3. Pressed

When selected ​

In addition to changing shape when pressed, toggle icon buttons also change the resting shape from round (unselected) to square (selected) by default.

If the resting shape is square, the selected shape should be round.

Shape changes for round and square toggle icon buttons in 3 states.

A. Round, B. Square

  1. Enabled
  2. Hovered
  3. Pressed
  4. Selected

Measurements ​

Diagram of 5 sizes of icon buttons in 4 widths.

A. Extra small  B. Small  C. Medium  D. Large  E. Extra large

  1. Icon size
  2. Default width size 
  3. Narrow width size  
  4. Wide width size

Target sizes ​

Extra small and small icon buttons must have a target size of 48x48dp or larger to be accessible.

Diagram of target sizes.

A. Extra small icon button size  B. Small icon button size

  1. Narrow width 
  2. Default width
  3. Wide width

Button corner radius ​

Diagram of icon button corner radius.


XSSMLXL
A. Round buttonFullFullFullFullFull
B. Square button12dp12dp16dp28dp28dp
C. Pressed state8dp8dp12dp16dp16dp

Baseline tokens ​

Use the table's menu to select a token set. Filled, tonal, and outlined icon button tokens are now deprecated in favor of the new token sets. All other tokens are still available in the module at the top of the page.

Design tokens

Token table

Machine-readable relationship table

Icon buttons tokens · 3 token sets · 114 tokens · live token table · DSDB TOKEN_TABLE.0fe2282006ae098b

  • Default context: Theme: Light · Platform: Android · Audience: 3P · Contrast: Default · iOS dark theme elevation: None · iOS weight setting: Default
  • Not configurable here (group default used): Motion scheme: Standard · Font: Static · Language height: Small
  • Other contexts: Theme: Dark · Contrast: Medium contrast, High contrast. "Other contexts" lists values that differ from the default when only that one context changes.
  • Reference chain: aliases from the token to its source value (token → alias → … → value). "—" means the token holds a literal value.

[Deprecated] Icon button - Filled · md.comp.filled-icon-button · 39 tokens

This token set is deprecated. Use `md.comp.icon-button.filled` instead.

GroupTokenTypeReference chainResolved valueOther contexts
[Deprecated] Enabled › [Deprecated] Containermd.comp.filled-icon-button.container.size (deprecated)Length—40dp—
[Deprecated] Enabled › [Deprecated] Containermd.comp.filled-icon-button.container.width (deprecated)Length—40dp—
[Deprecated] Enabled › [Deprecated] Containermd.comp.filled-icon-button.container.height (deprecated)Length—40dp—
[Deprecated] Enabled › [Deprecated] Containermd.comp.filled-icon-button.container.shape (deprecated)Shapemd.sys.shape.corner.fullCircular (fully rounded)—
[Deprecated] Enabled › [Deprecated] Containermd.comp.filled-icon-button.container.color (deprecated)Colormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
[Deprecated] Enabled › [Deprecated] Containermd.comp.filled-icon-button.unselected.container.color (deprecated)Colormd.sys.color.surface-container-highest → md.ref.palette.neutral90#E6E0E9Dark: #36343B via md.ref.palette.neutral22
[Deprecated] Enabled › [Deprecated] Containermd.comp.filled-icon-button.selected.container.color (deprecated)Colormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
[Deprecated] Enabled › [Deprecated] Iconmd.comp.filled-icon-button.icon.size (deprecated)Length—24dp—
[Deprecated] Enabled › [Deprecated] Iconmd.comp.filled-icon-button.icon.color (deprecated)Colormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
[Deprecated] Enabled › [Deprecated] Iconmd.comp.filled-icon-button.toggle.unselected.icon.color (deprecated)Colormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
[Deprecated] Enabled › [Deprecated] Iconmd.comp.filled-icon-button.toggle.selected.icon.color (deprecated)Colormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
[Deprecated] Disabled › [Deprecated] Containermd.comp.filled-icon-button.disabled.container.color (deprecated)Colormd.sys.color.on-surface → md.ref.palette.neutral10#1D1B20Dark: #E6E0E9 via md.ref.palette.neutral90
Medium contrast: #000000 via md.ref.palette.neutral0
High contrast: #000000 via md.ref.palette.neutral0
[Deprecated] Disabled › [Deprecated] Containermd.comp.filled-icon-button.disabled.container.opacity (deprecated)Opacity—0.12—
[Deprecated] Disabled › [Deprecated] Iconmd.comp.filled-icon-button.disabled.icon.color (deprecated)Colormd.sys.color.on-surface → md.ref.palette.neutral10#1D1B20Dark: #E6E0E9 via md.ref.palette.neutral90
Medium contrast: #000000 via md.ref.palette.neutral0
High contrast: #000000 via md.ref.palette.neutral0
[Deprecated] Disabled › [Deprecated] Iconmd.comp.filled-icon-button.disabled.icon.opacity (deprecated)Opacity—0.38—
[Deprecated] Hovered › [Deprecated] State layermd.comp.filled-icon-button.hover.state-layer.opacity (deprecated)Opacitymd.sys.state.hover.state-layer-opacity0.08—
[Deprecated] Hovered › [Deprecated] State layermd.comp.filled-icon-button.hover.state-layer.color (deprecated)Colormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
[Deprecated] Hovered › [Deprecated] State layermd.comp.filled-icon-button.toggle.unselected.hover.state-layer.color (deprecated)Colormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
[Deprecated] Hovered › [Deprecated] State layermd.comp.filled-icon-button.toggle.selected.hover.state-layer.color (deprecated)Colormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
[Deprecated] Hovered › [Deprecated] Iconmd.comp.filled-icon-button.hover.icon.color (deprecated)Colormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
[Deprecated] Hovered › [Deprecated] Iconmd.comp.filled-icon-button.toggle.unselected.hover.icon.color (deprecated)Colormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
[Deprecated] Hovered › [Deprecated] Iconmd.comp.filled-icon-button.toggle.selected.hover.icon.color (deprecated)Colormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
[Deprecated] Focused › [Deprecated] State layermd.comp.filled-icon-button.focus.state-layer.opacity (deprecated)Opacitymd.sys.state.focus.state-layer-opacity0.1—
[Deprecated] Focused › [Deprecated] State layermd.comp.filled-icon-button.focus.state-layer.color (deprecated)Colormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
[Deprecated] Focused › [Deprecated] State layermd.comp.filled-icon-button.toggle.unselected.focus.state-layer.color (deprecated)Colormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
[Deprecated] Focused › [Deprecated] State layermd.comp.filled-icon-button.toggle.selected.focus.state-layer.color (deprecated)Colormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
[Deprecated] Focused › [Deprecated] Iconmd.comp.filled-icon-button.focus.icon.color (deprecated)Colormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
[Deprecated] Focused › [Deprecated] Iconmd.comp.filled-icon-button.toggle.unselected.focus.icon.color (deprecated)Colormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
[Deprecated] Focused › [Deprecated] Iconmd.comp.filled-icon-button.toggle.selected.focus.icon.color (deprecated)Colormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
[Deprecated] Focused › [Deprecated] Focus indicatormd.comp.filled-icon-button.focus.indicator.color (deprecated)Colormd.sys.color.secondary → md.ref.palette.secondary40#625B71Dark: #CCC2DC via md.ref.palette.secondary80
Medium contrast: #4A4458 via md.ref.palette.secondary30
High contrast: #332D41 via md.ref.palette.secondary20
[Deprecated] Focused › [Deprecated] Focus indicatormd.comp.filled-icon-button.focus.indicator.thickness (deprecated)Lengthmd.sys.state.focus-indicator.thickness3dp—
[Deprecated] Focused › [Deprecated] Focus indicatormd.comp.filled-icon-button.focus.indicator.outline.offset (deprecated)Lengthmd.sys.state.focus-indicator.outer-offset2dp—
[Deprecated] Pressed (ripple) › [Deprecated] State layermd.comp.filled-icon-button.pressed.state-layer.opacity (deprecated)Opacitymd.sys.state.pressed.state-layer-opacity0.1—
[Deprecated] Pressed (ripple) › [Deprecated] State layermd.comp.filled-icon-button.pressed.state-layer.color (deprecated)Colormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
[Deprecated] Pressed (ripple) › [Deprecated] State layermd.comp.filled-icon-button.toggle.unselected.pressed.state-layer.color (deprecated)Colormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
[Deprecated] Pressed (ripple) › [Deprecated] State layermd.comp.filled-icon-button.toggle.selected.pressed.state-layer.color (deprecated)Colormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
[Deprecated] Pressed (ripple) › [Deprecated] Iconmd.comp.filled-icon-button.pressed.icon.color (deprecated)Colormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20
[Deprecated] Pressed (ripple) › [Deprecated] Iconmd.comp.filled-icon-button.toggle.unselected.pressed.icon.color (deprecated)Colormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
[Deprecated] Pressed (ripple) › [Deprecated] Iconmd.comp.filled-icon-button.toggle.selected.pressed.icon.color (deprecated)Colormd.sys.color.on-primary → md.ref.palette.primary100#FFFFFFDark: #381E72 via md.ref.palette.primary20

[Deprecated] Icon button - Tonal · md.comp.filled-tonal-icon-button · 39 tokens

This token set is deprecated. Use `md.comp.icon-button.tonal` instead.

GroupTokenTypeReference chainResolved valueOther contexts
[Deprecated] Enabled › [Deprecated] Containermd.comp.filled-tonal-icon-button.container.size (deprecated)Length—40dp—
[Deprecated] Enabled › [Deprecated] Containermd.comp.filled-tonal-icon-button.container.width (deprecated)Length—40dp—
[Deprecated] Enabled › [Deprecated] Containermd.comp.filled-tonal-icon-button.container.height (deprecated)Length—40dp—
[Deprecated] Enabled › [Deprecated] Containermd.comp.filled-tonal-icon-button.container.shape (deprecated)Shapemd.sys.shape.corner.fullCircular (fully rounded)—
[Deprecated] Enabled › [Deprecated] Containermd.comp.filled-tonal-icon-button.container.color (deprecated)Colormd.sys.color.secondary-container → md.ref.palette.secondary90#E8DEF8Dark: #4A4458 via md.ref.palette.secondary30
Medium contrast: #625B71 via md.ref.palette.secondary40
High contrast: #4A4458 via md.ref.palette.secondary30
[Deprecated] Enabled › [Deprecated] Containermd.comp.filled-tonal-icon-button.unselected.container.color (deprecated)Colormd.sys.color.surface-container-highest → md.ref.palette.neutral90#E6E0E9Dark: #36343B via md.ref.palette.neutral22
[Deprecated] Enabled › [Deprecated] Containermd.comp.filled-tonal-icon-button.selected.container.color (deprecated)Colormd.sys.color.secondary-container → md.ref.palette.secondary90#E8DEF8Dark: #4A4458 via md.ref.palette.secondary30
Medium contrast: #625B71 via md.ref.palette.secondary40
High contrast: #4A4458 via md.ref.palette.secondary30
[Deprecated] Enabled › [Deprecated] Iconmd.comp.filled-tonal-icon-button.icon.size (deprecated)Length—24dp—
[Deprecated] Enabled › [Deprecated] Iconmd.comp.filled-tonal-icon-button.icon.color (deprecated)Colormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
[Deprecated] Enabled › [Deprecated] Iconmd.comp.filled-tonal-icon-button.toggle.unselected.icon.color (deprecated)Colormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
[Deprecated] Enabled › [Deprecated] Iconmd.comp.filled-tonal-icon-button.toggle.selected.icon.color (deprecated)Colormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
[Deprecated] Disabled › [Deprecated] Containermd.comp.filled-tonal-icon-button.disabled.container.color (deprecated)Colormd.sys.color.on-surface → md.ref.palette.neutral10#1D1B20Dark: #E6E0E9 via md.ref.palette.neutral90
Medium contrast: #000000 via md.ref.palette.neutral0
High contrast: #000000 via md.ref.palette.neutral0
[Deprecated] Disabled › [Deprecated] Containermd.comp.filled-tonal-icon-button.disabled.container.opacity (deprecated)Opacity—0.12—
[Deprecated] Disabled › [Deprecated] Iconmd.comp.filled-tonal-icon-button.disabled.icon.color (deprecated)Colormd.sys.color.on-surface → md.ref.palette.neutral10#1D1B20Dark: #E6E0E9 via md.ref.palette.neutral90
Medium contrast: #000000 via md.ref.palette.neutral0
High contrast: #000000 via md.ref.palette.neutral0
[Deprecated] Disabled › [Deprecated] Iconmd.comp.filled-tonal-icon-button.disabled.icon.opacity (deprecated)Opacity—0.38—
[Deprecated] Hovered › [Deprecated] State layermd.comp.filled-tonal-icon-button.hover.state-layer.color (deprecated)Colormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
[Deprecated] Hovered › [Deprecated] State layermd.comp.filled-tonal-icon-button.toggle.unselected.hover.state-layer.color (deprecated)Colormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
[Deprecated] Hovered › [Deprecated] State layermd.comp.filled-tonal-icon-button.toggle.selected.hover.state-layer.color (deprecated)Colormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
[Deprecated] Hovered › [Deprecated] State layermd.comp.filled-tonal-icon-button.hover.state-layer.opacity (deprecated)Opacitymd.sys.state.hover.state-layer-opacity0.08—
[Deprecated] Hovered › [Deprecated] Iconmd.comp.filled-tonal-icon-button.hover.icon.color (deprecated)Colormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
[Deprecated] Hovered › [Deprecated] Iconmd.comp.filled-tonal-icon-button.toggle.unselected.hover.icon.color (deprecated)Colormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
[Deprecated] Hovered › [Deprecated] Iconmd.comp.filled-tonal-icon-button.toggle.selected.hover.icon.color (deprecated)Colormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
[Deprecated] Focused › [Deprecated] State layermd.comp.filled-tonal-icon-button.focus.state-layer.opacity (deprecated)Opacitymd.sys.state.focus.state-layer-opacity0.1—
[Deprecated] Focused › [Deprecated] State layermd.comp.filled-tonal-icon-button.focus.state-layer.color (deprecated)Colormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
[Deprecated] Focused › [Deprecated] State layermd.comp.filled-tonal-icon-button.toggle.unselected.focus.state-layer.color (deprecated)Colormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
[Deprecated] Focused › [Deprecated] State layermd.comp.filled-tonal-icon-button.toggle.selected.focus.state-layer.color (deprecated)Colormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
[Deprecated] Focused › [Deprecated] Iconmd.comp.filled-tonal-icon-button.focus.icon.color (deprecated)Colormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
[Deprecated] Focused › [Deprecated] Iconmd.comp.filled-tonal-icon-button.toggle.unselected.focus.icon.color (deprecated)Colormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
[Deprecated] Focused › [Deprecated] Iconmd.comp.filled-tonal-icon-button.toggle.selected.focus.icon.color (deprecated)Colormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
[Deprecated] Focused › [Deprecated] Focus indicatormd.comp.filled-tonal-icon-button.focus.indicator.color (deprecated)Colormd.sys.color.secondary → md.ref.palette.secondary40#625B71Dark: #CCC2DC via md.ref.palette.secondary80
Medium contrast: #4A4458 via md.ref.palette.secondary30
High contrast: #332D41 via md.ref.palette.secondary20
[Deprecated] Focused › [Deprecated] Focus indicatormd.comp.filled-tonal-icon-button.focus.indicator.thickness (deprecated)Lengthmd.sys.state.focus-indicator.thickness3dp—
[Deprecated] Focused › [Deprecated] Focus indicatormd.comp.filled-tonal-icon-button.focus.indicator.outline.offset (deprecated)Lengthmd.sys.state.focus-indicator.outer-offset2dp—
[Deprecated] Pressed (ripple) › [Deprecated] State layermd.comp.filled-tonal-icon-button.pressed.state-layer.opacity (deprecated)Opacitymd.sys.state.pressed.state-layer-opacity0.1—
[Deprecated] Pressed (ripple) › [Deprecated] State layermd.comp.filled-tonal-icon-button.pressed.state-layer.color (deprecated)Colormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
[Deprecated] Pressed (ripple) › [Deprecated] State layermd.comp.filled-tonal-icon-button.toggle.unselected.pressed.state-layer.color (deprecated)Colormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
[Deprecated] Pressed (ripple) › [Deprecated] State layermd.comp.filled-tonal-icon-button.toggle.selected.pressed.state-layer.color (deprecated)Colormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
[Deprecated] Pressed (ripple) › Iconmd.comp.filled-tonal-icon-button.pressed.icon.color (deprecated)Colormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100
[Deprecated] Pressed (ripple) › Iconmd.comp.filled-tonal-icon-button.toggle.unselected.pressed.icon.color (deprecated)Colormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
[Deprecated] Pressed (ripple) › Iconmd.comp.filled-tonal-icon-button.toggle.selected.pressed.icon.color (deprecated)Colormd.sys.color.on-secondary-container → md.ref.palette.secondary30#4A4458Dark: #E8DEF8 via md.ref.palette.secondary90
Medium contrast: #FFFFFF via md.ref.palette.secondary100
High contrast: #FFFFFF via md.ref.palette.secondary100

[Deprecated] Icon button - Outlined · md.outlined-icon-button · 36 tokens

This token set is deprecated. Use `md.comp.icon-button.outlined` instead.

GroupTokenTypeReference chainResolved valueOther contexts
[Deprecated] Enabled › [Deprecated] Containermd.outlined-icon-button.container.size (deprecated)Length—40dp—
[Deprecated] Enabled › [Deprecated] Containermd.outlined-icon-button.container.width (deprecated)Length—40dp—
[Deprecated] Enabled › [Deprecated] Containermd.outlined-icon-button.container.height (deprecated)Length—40dp—
[Deprecated] Enabled › [Deprecated] Containermd.outlined-icon-button.container.shape (deprecated)Shapemd.sys.shape.corner.fullCircular (fully rounded)—
[Deprecated] Enabled › [Deprecated] Containermd.outlined-icon-button.selected.container.color (deprecated)Colormd.sys.color.inverse-surface → md.ref.palette.neutral20#322F35Dark: #E6E0E9 via md.ref.palette.neutral90
[Deprecated] Enabled › [Deprecated] Outlinemd.outlined-icon-button.unselected.outline.color (deprecated)Colormd.sys.color.outline → md.ref.palette.neutral-variant50#79747EDark: #938F99 via md.ref.palette.neutral-variant60
Medium contrast: #49454F via md.ref.palette.neutral-variant30
High contrast: #322F37 via md.ref.palette.neutral-variant20
[Deprecated] Enabled › [Deprecated] Outlinemd.outlined-icon-button.unselected.outline.width (deprecated)Length—1dp—
[Deprecated] Enabled › [Deprecated] Iconmd.outlined-icon-button.icon.size (deprecated)Length—24dp—
[Deprecated] Enabled › [Deprecated] Iconmd.outlined-icon-button.unselected.icon.color (deprecated)Colormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
[Deprecated] Enabled › [Deprecated] Iconmd.outlined-icon-button.selected.icon.color (deprecated)Colormd.sys.color.inverse-on-surface → md.ref.palette.neutral95#F5EFF7Dark: #322F35 via md.ref.palette.neutral20
Medium contrast: #FFFFFF via md.ref.palette.neutral100
High contrast: #FFFFFF via md.ref.palette.neutral100
[Deprecated] Disabled › [Deprecated] Containermd.outlined-icon-button.disabled.selected.container.color (deprecated)Colormd.sys.color.on-surface → md.ref.palette.neutral10#1D1B20Dark: #E6E0E9 via md.ref.palette.neutral90
Medium contrast: #000000 via md.ref.palette.neutral0
High contrast: #000000 via md.ref.palette.neutral0
[Deprecated] Disabled › [Deprecated] Containermd.outlined-icon-button.disabled.selected.container.opacity (deprecated)Opacity—0.12—
[Deprecated] Disabled › [Deprecated] Iconmd.outlined-icon-button.disabled.icon.color (deprecated)Colormd.sys.color.on-surface → md.ref.palette.neutral10#1D1B20Dark: #E6E0E9 via md.ref.palette.neutral90
Medium contrast: #000000 via md.ref.palette.neutral0
High contrast: #000000 via md.ref.palette.neutral0
[Deprecated] Disabled › [Deprecated] Iconmd.outlined-icon-button.disabled.icon.opacity (deprecated)Opacity—0.38—
[Deprecated] Disabled › [Deprecated] Outlinemd.outlined-icon-button.disabled.unselected.outline.color (deprecated)Colormd.sys.color.on-surface → md.ref.palette.neutral10#1D1B20Dark: #E6E0E9 via md.ref.palette.neutral90
Medium contrast: #000000 via md.ref.palette.neutral0
High contrast: #000000 via md.ref.palette.neutral0
[Deprecated] Disabled › [Deprecated] Outlinemd.outlined-icon-button.disabled.unselected.outline.opacity (deprecated)Opacity—0.12—
[Deprecated] Disabled › [Deprecated] Outlinemd.outlined-icon-button.disabled.outline.color (deprecated)Colormd.sys.color.on-surface → md.ref.palette.neutral10#1D1B20Dark: #E6E0E9 via md.ref.palette.neutral90
Medium contrast: #000000 via md.ref.palette.neutral0
High contrast: #000000 via md.ref.palette.neutral0
[Deprecated] Disabled › [Deprecated] Outlinemd.outlined-icon-button.disabled.outline.opacity (deprecated)Opacity—0.12—
[Deprecated] Hovered › [Deprecated] State layermd.outlined-icon-button.hover.state-layer.opacity (deprecated)Opacitymd.sys.state.hover.state-layer-opacity0.08—
[Deprecated] Hovered › [Deprecated] State layermd.outlined-icon-button.unselected.hover.state-layer.color (deprecated)Colormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
[Deprecated] Hovered › [Deprecated] State layermd.outlined-icon-button.selected.hover.state-layer.color (deprecated)Colormd.sys.color.inverse-on-surface → md.ref.palette.neutral95#F5EFF7Dark: #322F35 via md.ref.palette.neutral20
Medium contrast: #FFFFFF via md.ref.palette.neutral100
High contrast: #FFFFFF via md.ref.palette.neutral100
[Deprecated] Hovered › [Deprecated] Iconmd.outlined-icon-button.unselected.hover.icon.color (deprecated)Colormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
[Deprecated] Hovered › [Deprecated] Iconmd.outlined-icon-button.selected.hover.icon.color (deprecated)Colormd.sys.color.inverse-on-surface → md.ref.palette.neutral95#F5EFF7Dark: #322F35 via md.ref.palette.neutral20
Medium contrast: #FFFFFF via md.ref.palette.neutral100
High contrast: #FFFFFF via md.ref.palette.neutral100
[Deprecated] Focused › [Deprecated] State layermd.outlined-icon-button.focus.state-layer.opacity (deprecated)Opacitymd.sys.state.hover.state-layer-opacity0.08—
[Deprecated] Focused › [Deprecated] State layermd.outlined-icon-button.unselected.focus.state-layer.color (deprecated)Colormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
[Deprecated] Focused › [Deprecated] State layermd.outlined-icon-button.selected.focus.state-layer.color (deprecated)Colormd.sys.color.inverse-on-surface → md.ref.palette.neutral95#F5EFF7Dark: #322F35 via md.ref.palette.neutral20
Medium contrast: #FFFFFF via md.ref.palette.neutral100
High contrast: #FFFFFF via md.ref.palette.neutral100
[Deprecated] Focused › [Deprecated] Iconmd.outlined-icon-button.unselected.focus.icon.color (deprecated)Colormd.sys.color.on-surface-variant → md.ref.palette.neutral-variant30#49454FDark: #CAC4D0 via md.ref.palette.neutral-variant80
Medium contrast: #322F37 via md.ref.palette.neutral-variant20
High contrast: #000000 via md.ref.palette.neutral-variant0
[Deprecated] Focused › [Deprecated] Iconmd.outlined-icon-button.selected.focus.icon.color (deprecated)Colormd.sys.color.inverse-on-surface → md.ref.palette.neutral95#F5EFF7Dark: #322F35 via md.ref.palette.neutral20
Medium contrast: #FFFFFF via md.ref.palette.neutral100
High contrast: #FFFFFF via md.ref.palette.neutral100
[Deprecated] Focused › [Deprecated] Focus indicatormd.outlined-icon-button.focus.indicator.color (deprecated)Colormd.sys.color.secondary → md.ref.palette.secondary40#625B71Dark: #CCC2DC via md.ref.palette.secondary80
Medium contrast: #4A4458 via md.ref.palette.secondary30
High contrast: #332D41 via md.ref.palette.secondary20
[Deprecated] Focused › [Deprecated] Focus indicatormd.outlined-icon-button.focus.indicator.thickness (deprecated)Lengthmd.sys.state.focus-indicator.thickness3dp—
[Deprecated] Focused › [Deprecated] Focus indicatormd.outlined-icon-button.focus.indicator.outline.offset (deprecated)Lengthmd.sys.state.focus-indicator.outer-offset2dp—
[Deprecated] Pressed (ripple) › [Deprecated] State layermd.outlined-icon-button.pressed.state-layer.opacity (deprecated)Opacitymd.sys.state.pressed.state-layer-opacity0.1—
[Deprecated] Pressed (ripple) › [Deprecated] State layermd.outlined-icon-button.unselected.pressed.state-layer.color (deprecated)Colormd.sys.color.on-surface → md.ref.palette.neutral10#1D1B20Dark: #E6E0E9 via md.ref.palette.neutral90
Medium contrast: #000000 via md.ref.palette.neutral0
High contrast: #000000 via md.ref.palette.neutral0
[Deprecated] Pressed (ripple) › [Deprecated] State layermd.outlined-icon-button.selected.pressed.state-layer.color (deprecated)Colormd.sys.color.inverse-on-surface → md.ref.palette.neutral95#F5EFF7Dark: #322F35 via md.ref.palette.neutral20
Medium contrast: #FFFFFF via md.ref.palette.neutral100
High contrast: #FFFFFF via md.ref.palette.neutral100
[Deprecated] Pressed (ripple) › Iconmd.outlined-icon-button.unselected.pressed.icon.color (deprecated)Colormd.sys.color.on-surface → md.ref.palette.neutral10#1D1B20Dark: #E6E0E9 via md.ref.palette.neutral90
Medium contrast: #000000 via md.ref.palette.neutral0
High contrast: #000000 via md.ref.palette.neutral0
[Deprecated] Pressed (ripple) › Iconmd.outlined-icon-button.selected.pressed.icon.color (deprecated)Colormd.sys.color.inverse-on-surface → md.ref.palette.neutral95#F5EFF7Dark: #322F35 via md.ref.palette.neutral20
Medium contrast: #FFFFFF via md.ref.palette.neutral100
High contrast: #FFFFFF via md.ref.palette.neutral100

Unofficial offline mirror. Content © Google, licensed under CC BY 4.0.