---
url: /components/chips/guidelines.md
description: >-
  Chips help people enter information, make selections, filter content, or
  trigger actions. Use chips to show options for a specific context.
---

# Chips

Chips help people enter information, make selections, filter content, or trigger actions. Use chips to show options for a specific context.

[Overview](overview.md) · [Specs](specs.md) · **Guidelines** · [Accessibility](accessibility.md)

![4 chip variants: Assist, filter, input, and suggestion.](/assets/516c58b4-m8smcq59-01.D-SSjM0x.webp)

There are four variants of chips: Assist, filter, input, and suggestion

## Usage

Chips help people enter information, make selections, filter content, or trigger actions. They're best used to help people accomplish their current task faster and easier.

![3 assist chips in restaurant review app.](/assets/1b60a35a-m8smdd4g-02.CdC8IJ5t.webp)

Chips appear as a group of interactive elements

### Chips aren’t buttons

Chips and [buttons](../buttons/overview.md "Buttons let people take action and make choices with one tap.") are similar. They both provide visual cues to prompt people to take actions and make selections. 

While buttons appear consistently and with familiar calls to action, chips are dynamic to the situation, and appear as a group of interactive elements.

Use chips to enhance a person's current journey and encourage action. Use buttons to progress them through the product and for significant actions.

::: tip Do
![Chips used for “Reserve a table” and “Order delivery” in a restaurant app.](/assets/80bb80e8-lztjonhj-3-do.DayELXUX.webp)

Use chips to present contextual, supplemental options
:::

::: danger Don't
![Chips used for Save and Cancel actions in a dialog.](/assets/b1fbfd6d-lztjp9f8-4-dont.CcXo-xx-.webp)

Avoid replacing major actions with chips. Actions that progress people to the next or previous step should always be displayed as buttons.
:::

Chips should dynamically offer various actions depending on the current task, whereas a button should be a persistent fixture of a layout. 

Chips represent forking paths for a current task, while buttons represent linear steps.

::: tip Do
![Button labeled “Save task” in a task management app.](/assets/181b5696-lztjqmoj-5-do.CbkGK9Xt.webp)

Use buttons for the final step in a task
:::

::: danger Don't
![Chip labeled “Save task” in a task management app.](/assets/c0eaef51-lztjqyzl-6-dont.z1Vd9lM_.webp)

Avoid using chips to finish or progress a task
:::

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

Chip sets can be scrolled horizontally.

::: tip Do
![Multiple chips in event reminder.](/assets/c741e0bc-m8smf6wp-07_do.Ds0O2BuA.webp)

Chips can be scrolled horizontally
:::

::: danger Don't
![Single chip in event reminder.](/assets/e20d1e1b-m8smfmgg-08_don-t.CEoeif_3.webp)

Don’t display a single chip by itself. Chips should appear in a set.
:::

### Variants

Choose the chip variant based on its purpose and author. 

Does the chip represent an action (assist chip) or filter results (filter chip)? 

Is its content generated by the product (suggestion chip), or by the person using the product (input chip)?

![4 chip variants.](/assets/5ba34122-m8smgjsw-09.BDA6mS19.webp)

There are four chip variants: 

1. Assist 
2. Filter 
3. Input 
4. Suggestion

| Purpose                       | Chip variant                                             | Rationale                                                                                      | Example                                     |
| ----------------------------- | -------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------- |
| Action                        | [Assist chip](#5dd1928c-1476-4029-bdc5-fde66fc0dcb1)     | Assist chips represent smart or automated actions that can span multiple apps                  | **Add to calendar** action                  |
| Filter                        | [Filter chip](#8d453d50-8d8e-43aa-9ae3-87ed134d2e64)     | Filter chips represent filters for a collection                                                | Platform selector on material.io/components |
| Information, user-authored    | [Input chip](#4d2d5ef5-3fcd-46e9-99f2-067747b2393f)      | Input chips represent discrete pieces of information entered by a person                       | Gmail contact in the **To** field           |
| Information, product-authored | [Suggestion chip](#36d7bb16-a9bf-4cf6-a73d-8e05510d66a7) | Suggestion chips help narrow a person’s intent by presenting dynamically-generated suggestions | Suggested chat response                     |

## Anatomy

![Diagram of 4 elements of a chip.](/assets/596faada-lztjtuyd-10.gjxNJguF.webp)

1. Container
2. Label text
3. Leading icon or image (optional)
4. Trailing icon (required for input chips, optional for filter chips)

### Container

All chips are slightly rounded with an 8dp corner.

![Diagram of rounded corner of chip container.](/assets/66dcea01-m8wn25i4-12_do.CADNwey_.webp)

Chips have rounded corners

**Shadows & elevation**

Chip containers can be elevated if placed on top of an image or dynamic background.

![3 elevated assist chips above image of restaurant photograph.](/assets/604e784d-m99ytacz-13.DV6WkByW.webp)

When on complicated backgrounds, chip containers can be elevated

::: tip Do
![3 variants of chips in an outlined style.](/assets/57a5e97c-m8smkogw-14_do.DWewDpV6.webp)

Use an outline to define the edge of the chip's container on regular backgrounds
:::

::: tip Do
![3 variants of chips in an elevated style above restaurant photograph.](/assets/769c922b-m8sml3zk-15_do.BWNcw2jn.webp)

Chips may use elevation when placed on an image
:::

::: danger Don't
![4 elevated chips above blank background.](/assets/c745e0a8-m8smnajs-16_don-t.BgvD3Kog.webp)

Chips shouldn't be elevated when placed directly on the page
:::

::: danger Don't
![Elevated chip in pressed state.](/assets/5a409c69-m9a01xre-17_don-t.w8G56ZOr.webp)

Avoid using elevation to indicate a chip's pressed state. Instead, use the visual ripple effect.
:::

### Label text

Chip label text should be 20 characters or fewer, and have the same typography style as [buttons](../buttons/overview.md "Buttons let people take action and make choices with one tap.").

Chip labels should remain brief for the limited space available. Skip conventional grammar rules, such as articles (take "a" walk), to save space.

::: tip Do
![Filter chip in maps app labeled “Walking.”](/assets/d7b11ed4-lztjz5d8-17-do.BDvsy5IK.webp)

Keep chip labels short
:::

::: danger Don't
![Filter chip in maps app labeled “Walking navigation session."](/assets/7883f96f-lztjzmjd-18-dont.BADtsPQK.webp)

Avoid chip labels longer than 20 characters
:::

### Leading icon or image (optional)

Chips can contain a leading icon, logo, or circular image. Use a system icon to help identify a chip's category.

![2 input chips, 1 with a leading circular avatar and the other with a leading icon.](/assets/aaba9817-m8zizvw6-21.CxLH2fqx.webp)

Chips can contain a logo, icon, or circular image

The leading icon color for unselected chips can be customized through theming. While the default [color role](../../styles/color/roles.md "Color roles are assigned to UI elements based on emphasis, container type, and relationship with other elements. This ensures proper contrast and usage in any color scheme.") is **primary**, the **on surface variant** color role is a good alternative when the icon style requires less emphasis.

![2 screens of a restaurant page with chips labeled "Add photos" and "Add dishes." The leading icons are purple in 1, grey in the other.](/assets/933214f3-lztk48sd-20.D5HrRzUP.webp)

**Primary** color (left) and **on surface variant** color (right)

Leading circular images are sized larger than leading icons to provide more space for detail. Icons are designed to be legible at small sizes.

See the [Specs tab](specs.md) for precise measurement values.

![2 input chips, 1 with a 24dp leading avatar and the other with an 18dp leading icon.](/assets/e06333ca-m8zj3zjt-24.C9nhR44P.webp)

Leading images, such as avatars, are sized larger than leading icons or logos

### Trailing icon (optional, input and filter chips only)

The trailing icon is present for input and filter chips.

On input chips, it's required and must be used to remove the chip. On filter chips, it's optional, and can be used to open a menu or remove the chip. 

Secondary actions (such as a trailing icon button for **Remove**) must have a 48x48dp interaction target that doesn’t interfere with the chip's primary action (such as **Edit** or **Drag**). To achieve this, apply a minimum width of 88dp to the chip, or 42dp to the label text.

![A chip with 88dp min width has 2 touch targets of 48x48dp.](/assets/d632cfa9-m8wnoowx-25.BXwMpuPT.webp)

Interaction targets for actions like **Edit** or **Close** have a size of 48x48. This can be achieved by setting the minimum container width to 88dp.

<a id="5dd1928c-1476-4029-bdc5-fde66fc0dcb1"></a>

## Assist chips

Assist chips 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 person asked an assistant to complete the action. They should appear dynamically and contextually in a UI.

An alternative to assist chips are [buttons](../buttons/overview.md "Buttons let people take action and make choices with one tap."), which should appear persistently and consistently.

![2 assist chips labeled “Add to my itinerary” and “12 mins from hotel” on map screen about Los Cantantes.](/assets/f257d570-m8zjf1m3-24.B3VgEfP-.webp)

The text in most assist chips begins with a short verb, like **Get&#x20;**&#x6F;r **Add**

![2 assist chips labeled “Event location” and “Chat” on phone lock screen.](/assets/e516753f-m8smwopa-25.8pzR0TsN.webp)

An assist chip can surface supplemental information like a calendar event, as well as provide contextual actions

![Assist chip transformed into time picker with radio buttons.](/assets/73943d46-m8smx4qo-26.MTK4FvLh.webp)

During an interaction, assist chips can transform into modals, transition into full-screen views of new content, or readjust to display more results inline

Assist chips can trigger an action or show progress and confirmation.

Write assist chips like buttons: start with a verb. Adjust text dynamically if the state changes, like **Save** to **Saved**.

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fm3%2Fimages%2Fm6bar2g2-GM3-Components-Chips-Guidelines-1.1-3P-v01.mp4?alt=media" aria-label="3 assist chips labeled “Mail,” ”Messenger”, and “Video Chat” on a travel article."></video>

Tapping an assist chip triggers a contextual action

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Fm6af1abe-GM3-Components-Chips-Guidelines-1.2-v01.mp4?alt=media" aria-label="Assist chip showing confirmation upon selection."></video>

Assist chips can show progress and confirmation feedback

Assist chips are displayed after primary content, such as below a [card](../cards/overview.md "Cards display content and actions about a single subject.") or persistently at the bottom of a screen.

![3 assist chips labeled “Turn on lights”, “Set alarm”, and "Close Blinds" on Welcome Home screen.](/assets/3022b886-m8wo1u2m-30.DqUl-pqO.webp)

Assist chips should be shown underneath primary content

<a id="8d453d50-8d8e-43aa-9ae3-87ed134d2e64"></a>

## Filter chips

Filter chips use tags or descriptive words to filter content. They can be a good alternative to [segmented buttons](../segmented-buttons/overview.md "Segmented buttons help people select options, switch views, or sort elements.") or [checkboxes](../checkbox/overview.md "Checkboxes let users select one or more items from a list, or turn an item on or off.") when viewing a list or search results.

Tapping on a filter chip activates it and appends a leading checkmark icon to the starting edge of the chip label.

Write filter chips with nouns that describe the category to **include** in the results. Avoid negative phrases like **Exclude images**.

![4 filter chips labeled “Docs” “Slides” “Sheets” and “Images” with “Slides” and “Sheets” selected](/assets/b48ef687-md8wjrh5-31.CENU4bdA.webp)

Filter chips rely on tags or descriptive words to filter content

![5 filter chips representing popular electronics categories in a shopping app. The chip “Game consoles” is selected.](/assets/bf667dee-m8sn3s8s-32.C0dRFqXv.webp)

Filter chips in a shopping app

![6 filter chips representing apartment amenities in a real estate app. 2 of the chips are selected.](/assets/8f8f52ac-m8sn4ehq-33.ClZl0uYm.webp)

Filter chips in a real estate app

Tap a chip to select it. Multiple chips can be selected or unselected.

![6 filter chips representing apartment amenities in a real estate app. 3 selected chips include checkmarks while 3 don’t.](/assets/b2d79753-m9a0g8g2-34.nzFaR1bC.webp)

An icon can be added to indicate when a filter chip is selected

![3 amenities chips are selected, and 2 neighborhoods.](/assets/9f959a6c-m9a0gd06-35.Ckcya4rM.webp)

Filter chip suggestions can dynamically change as a person starts to select filters

Alternatively, a single chip can be selected. This offers an alternative to [segmented buttons](../segmented-buttons/overview.md "Segmented buttons help people select options, switch views, or sort elements."), [radio buttons](../radio-button/overview.md "Radio buttons let people select one option from a set of options."), or single select [menus](../menus/overview.md "Menus display a list of choices on a temporary surface.").

However, avoid mixing chip set behaviors. All chip sets on a page should be either single-select or multi-select.

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fm3%2Fimages%2Fm8zkgr9j-GM3_Chips_Guideline_36_IA_v01.mp4?alt=media" aria-label="filter chips labeled “Extra soft”, “Soft”, “Medium”, and “Hard” First, the “Extra soft” chip is selected, then it unselects as the “Medium” chip is selected."></video>

Filter chips can be set so that selecting a single chip automatically deselects all other chips in the set

In [medium](../../foundations/layout/breakpoints/medium.md "Window widths from 600dp to 839dp, such as a tablet or foldable in portrait orientation.") and [expanded breakpoints](../../foundations/layout/breakpoints/expanded.md "Window widths 840dp to 1199dp, such as a tablet or foldable in landscape orientation, or desktop."), filter chips may contain a trailing icon to directly remove the chip or open a menu of options.

In [compact windows](../../foundations/layout/breakpoints/compact.md "Window widths smaller than 600dp, such as a phone in portrait orientation."), the trailing icon's target area is too small to be accessible on its own. However, if the whole chip can be selected to accomplish the action, the chip is likely still accessible.

![Filter chip with trailing remove icon.](/assets/f06d662e-m8wocw84-37.BOsuDeIc.webp)

The remove icon helps users remove the filter

![Filter chip with trailing menu icon.](/assets/73c7bb3d-m8wodig6-38.BMdMiH4P.webp)

Filter chips can open a menu for more filtering options

When combined with a [menu](../menus/overview.md "Menus display a list of choices on a temporary surface."), the filter chip opens a list of selectable options.

::: warning Caution
<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fm3%2Fimages%2Fm8zkn8ku-GM3_Chips_Guideline_39_IA_v01.mp4?alt=media" aria-label="In a trail selector mobile app, a person selects the whole chip to change the menu selection from Walking to Cycling."></video>

In compact windows, make sure the whole chip opens the menu. Otherwise, the target area is likely too small to be accessible.
:::

Filter chips can be used with other components, such as [search](../search/overview.md "Search lets people enter a keyword or phrase to get relevant information.") fields and [sheets](../side-sheets/overview.md "Side sheets show secondary content anchored to the side of the screen.").

![4 filter chips below search field](/assets/f3044822-m8woi0j8-40.B1WnW3hQ.webp)

Filter chips can be shown underneath a search field

![Filter chips used as tags in a side sheet on a file application.](/assets/f7e2355c-m8sni3vn-41.Dwt_H87F.webp)

Use a side sheet to organize many filter chips

![6 filter chips wrapping to 2 rows](/assets/0a3be534-lztl3mne-41.Bt-FQuzh.webp)

Filter chips can wrap to a new row. If there are more than two rows, consider using horizontal scrolling to access them all.

![4 filter chips with right-most chip partly offscreen, indicating the chips are horizontally scrollable](/assets/1613391e-lztl40h2-42.h_I1xot2.webp)

Filter chips can scroll horizontally to show many options

::: danger Don't
![Single filter chip option beneath the header “Category”](/assets/057aaab8-lztl535g-43-dont.BihOg67R.webp)

Filter chips should not present only a single option
:::

<a id="4d2d5ef5-3fcd-46e9-99f2-067747b2393f"></a>

## Input chips

Input chips represent discrete pieces of information entered by a person, such as Gmail contacts or filter options within a [search](../search/overview.md "Search lets people enter a keyword or phrase to get relevant information.") field.

They enable user input and verify that input by converting text into chips.

![Contacts transformed into 2 input chips in a draft event invite](/assets/db9ccfa0-m8zjw6tr-46.DN7N4aHU.webp)

Input chips transform text based on a person's input

Input chips can support editing to change their contents, such as correcting an email address. In edit mode, the chip reverts back to a text string. Editing can be triggered by interacting with the chip, either by selecting it or by a second interaction after selection.

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fm3%2Fimages%2Fm6baqmrn-GM3-Components-Chips-Guidelines-4-3P-v01.mp4?alt=media" aria-label="Contact transformed into input chip in the “To” filed of an email draft."></video>

Input chips converted from email addresses are editable

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Fm8spbow8-GM3_Chips_Guideline_49_IA_v01.mp4?alt=media" aria-label="Animation showing selection of chip with backspace key."></video>

Using the backspace key with the cursor before a chip selects the entire chip. The chip can then be deleted when the user taps the backspace key again.

A single field can contain multiple input chips. These chips can be reordered or moved into other fields.

![2 input chips in the “To” field of an email draft](/assets/39021c08-m8wovhxb-52.DB_u_Yjp.webp)

Multiple input chips in one field

![1 input chip moved from the “To” field to the “CC” field of an email draft](/assets/4844109d-m01e2s34-48-3p.CuY4AWVM.webp)

Input chips being moved from one field to another

Input chips can expand to show more information or options. A container transform transition pattern is used to reveal additional content.

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fm3%2Fimages%2Fm6baqa1g-GM3-Components-Chips-Guidelines-6-3P-v01.mp4?alt=media" aria-label="Contact input chip expands to show multiple email addresses for that contact"></video>

Input chips can expand

### Placement

Input chips can be integrated with other components.

They can appear:

* Inline with the cursor in a text field
* In a stacked list
* In a list that can be horizontally scrolled

![4 input chips wrapping to 2 rows.](/assets/bbd609fe-m6bamolo-50.BZCM1vS6.webp)

Input chips can wrap to a new row if all chips need to be visible

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fm3%2Fimages%2Fm8zkwi4x-GM3_Chips_Guideline_58%20-%203P%20-_IA_v01.mp4?alt=media" aria-label="3 input chips horizontally scrolling."></video>

Input chips can scroll horizontally

### Icons & images

The leading icon of input chips can be an icon, logo, or circular image.

![2 input chips, 1 with leading thumbnail, 1 with leading icon.](/assets/3c088f31-m8snzt8q-60.D3Bclxsk.webp)

Input chips can contain an icon, logo, or circular image

The trailing icon is always aligned to the end side of the container. It’s placed:

* On the right for left-to-right (LTR) languages, such as English
* On the left for right-to-left (RTL) languages, such as Farsi

![2 input chips with trailing icons following the label text.](/assets/bc8a9204-lztl8hee-55.ZsNuvld1.webp)

Input chips can be a more flexible way to filter search results, compared to filter chips

![3 input chips with trailing icons following the label text.](/assets/868387a4-m01e408l-56.9jgUMIw8.webp)

Input chips make it easier to add and remove contacts

<video controls src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Fm8so4v60-GM3_Chips_Guideline_64_IA_v01.mp4?alt=media" aria-label="Animation of overflowed chips in a text field."></video>

Overflowed chips in a text field should follow the same behavior as regular text. An unfocused text field with overflowed content should display the beginning of the input. Tapping the field snaps the user to the end of the input with the cursor and keyboard active.

<a id="36d7bb16-a9bf-4cf6-a73d-8e05510d66a7"></a>

## Suggestion chips

Suggestion chips help narrow a user’s intent by presenting dynamically generated suggestions, such as possible responses or search filters.

Write suggestion chips as nouns or short phrases, depending on context. Avoid exceeding 20 characters when possible.

![3 suggestion chips offering ID options in a photo-recognition app.](/assets/cc98cbd1-m99yzvnz-65.DGU1K0tg.webp)

The text labels within suggestion chips are most often nouns or short phrases

![3 suggestion chips with automated reply options in a chat app.](/assets/f67b4422-lztlb0cw-60.D7QLiAeu.webp)

Suggestion chips can offer quick-reply options in a chat or email app

![2 suggestion chips with search options “What song is this?” and “What are the lyrics?”](/assets/16eab1bd-lztlbx06-61.DMjMsaO_.webp)

A suggestion chip can help the user start a search

### Placement

When displaying multiple chips together, place them inline as a row of options, not listed vertically. Overflowing chips should break to the next line. 

If the field is only one row high, chip sets can scroll horizontally instead.

Keep an 8dp minimum space between chips. Chips must also have a minimum 48dp target size, regardless of placement or density. If required, the target can extend beyond the visible container of the chip.

Text labels for chips should be concise. Chip labels will truncate when in a wrapped layout, and when they are wider than the full width of the window.

![Diagram of margins between a set of chips.](/assets/28e611c4-lztlcsh2-62.UK-q4tmS.webp)

1. Margins between chips 
2. Margin between each line
