Skip to main content

Chip

Chips

Chips allow users to enter information, make selections, filter content, or trigger actions. While buttons are expected to appear consistently and with familiar calls to action, chips should appear dynamically as a group of multiple interactive elements.

Chips and buttons are similar in that they both provide visual cues to prompt users to take actions and make selections. However, there are important distinctions to be aware of.

Multiple chips should appear together in a group, whereas there should be no more than 3 buttons in a single arrangement.

Types of chips​

There are 4 types of chips:

  • Assist: represent smart or automated actions that can span multiple apps, such as opening a calendar event from the home screen. Assist chips function as though the user asked an assistant to complete the action. They should appear dynamically and contextually in a UI.
  • Filter: Filter chips use tags or descriptive words to filter content. They can be a good alternative to toggle buttons or checkboxes. They can also be used for selecting options.
  • Input: Input chips represent discrete pieces of information entered by a user, such as Gmail contacts or filter options within a search field.
  • Suggestion: Suggestion chips help narrow a user’s intent by presenting dynamically generated suggestions, such as possible responses or search filters.
tip

See official guidelines for more info.

Parts​

Chip parts

  • 1: Container
  • 2: Label
  • 3: Leading icon (optional)
  • 4: Trailing icon (optional)

States​

Chip states

  • 1: Enabled (unselected and selected)
  • 2: Disabled
  • 3: Pressed (unselected and selected)

Specs​

Enabled Unselected​

Details
Container
TokenValue
ds.comp.chip.containerColortransparent
ds.comp.chip.containerElevationds.sys.elevation.level0
ds.comp.chip.containerOutlineColords.sys.color.outlineVariant
ds.comp.chip.containerOutlineWidth1dp
ds.comp.chip.containerShapeds.sys.shape.corner.small
ds.comp.chip.containerPaddingVertical6dp
ds.comp.chip.containerPaddingHorizontal16dp
ds.comp.chip.containerGap8dp
Details
Label
TokenValue
ds.comp.chip.labelTypeScaleds.sys.typeScale.labelLarge
ds.comp.chip.labelColords.sys.color.onSurfaceVariant
Details
Icon
TokenValue
ds.comp.chip.iconSize18dp
ds.comp.chip.iconColords.sys.color.onSurfaceVariant

Enabled selected​

Details
Container
TokenValue
ds.comp.chip.selectedContainerColords.sys.color.primaryContainer
ds.comp.chip.selectedContainerOutlineColords.sys.color.primary
ds.comp.chip.selectedContainerOutlineWidth1dp
Details
Label
TokenValue
ds.comp.chip.selectedLabelColords.sys.color.onPrimaryContainer
Details
Icon
TokenValue
ds.comp.chip.selectedIconColords.sys.color.onPrimaryContainer

Disabled​

Details
Container
TokenValue
ds.comp.chip.disabledContainerColords.sys.color.onSurface
ds.comp.chip.disabledContainerOpacityds.sys.state.disabledContainerOpacity
ds.comp.chip.disabledContainerOutlineColords.sys.color.onSurface
ds.comp.chip.disabledContainerOutlineOpacityds.sys.state.disabledContainerOpacity
Details
Label
TokenValue
ds.comp.chip.disabledLabelColords.sys.color.onSurface
ds.comp.chip.disabledLabelOpacityds.sys.state.disabledOnContainerOpacity
Details
Icon
TokenValue
ds.comp.chip.disabledIconColords.sys.color.onSurface
ds.comp.chip.disabledIconOpacityds.sys.state.disabledOnContainerOpacity

Pressed unselected​

Details
State Layer
TokenValue
ds.comp.chip.pressedStateLayerColords.sys.color.onSurfaceVariant
ds.comp.chip.pressedStateLayerOpacityds.sys.state.pressedStateLayerOpacity
Details
Label
TokenValue
ds.comp.chip.pressedLabelColords.sys.color.onSurfaceVariant
Details
Icon
TokenValue
ds.comp.chip.pressedIconColords.sys.color.onSurfaceVariant

Pressed selected​

Details
State Layer
TokenValue
ds.comp.chip.pressedSelectedStateLayerColords.sys.color.onPrimaryContainer
ds.comp.chip.pressedSelectedStateLayerOpacityds.sys.state.pressedStateLayerOpacity
Details
Label
TokenValue
ds.comp.chip.pressedSelectedLabelColords.sys.color.onPrimaryContainer
Details
Icon
TokenValue
ds.comp.chip.pressedSelectedIconColords.sys.color.onPrimaryContainer

React Native​

<Chip title="My Chip" />

Props​

PropType
titlestring
leadingIcon (optional)IconNames
trailingIcon (optional)IconNames
onPress (optional)(event: GestureResponderEvent) => void
selected (optional)boolean
disabled (optional)boolean