Skip to content

Chips

Edit on GitHub
@volvo-cars/css v2.3.0

Chips are compact elements that allows users to refine content, such as filtering categories or tags, with immediate visual feedback.

Use chips when you need to display multiple related items in a compact format. They can be used to indicate selected filters, tags, or options, and also allow users to make selections from a set of options or dismiss/remove items.

Avoid using chips in the following scenarios:

  1. Don’t use as a non-interactive list. Chips are meant to be interactive and therefore should not be used as a non-interactive list of metadata. Instead, use Pill component.
  2. Don’t use as a settings controller. Chips are designed to control and filter things on the current page. Don’t use it instead of checkboxes or radio buttons as a means of configuration.
  3. Don’t use a single chip as a replacement for a button. While buttons provide persistent, familiar calls to action, chips are dynamic and typically appear in groups based on context.

Dismissible chips display selected options and allows users quick removal of individual selections without affecting other active choices. Dismissible chips primarily should be paired with a selection component (filter input, select input) to take in the user’s selections.

Dismissible chip variant

Selectable Chips component allows users to select/unselect quick filtering options that affect the current view. Chips in group supports mutually exclusive or multiple selection options.

Selectable chip variant

Designed to be used for dedicated filter modals or forms.

Small size chips

Suited for a more prominent placement in larger layouts (e.g., top of a table or above search results)

Large size chips

Dismissible chip states

Supported states: Default, Hover, Pressed, Disabled

Selectable chip states

Supported states: Default, Selected, Hover, Pressed, Loading, Disabled

Users can dismiss individual chips by clicking the close button (X), which removes the chip from the interface and updates the selection state. Multiple dismissible chips can be removed independently without affecting other active selections.

Dismissible chips interaction

Example of dismissible chips used to display filter input results

Depending on the scenario, multiple options can be selected all at once, or only one at a time. For clarity, it is important to not mix these behaviors in the same page or flow.

Use single-selection when users need to choose exactly one option from a set of mutually exclusive choices.

Single-selection selectable chips

Example of single-selection filter to sort between stock cars.

Use multiple-selection when users need to combine different criteria to refine their results.

Multiple-selection selectable chips

Example of multiple options presented as part of a longer form.

Chips uses 40px target size, ensuring comfortable touch interaction across devices. The height of the chip is minimum 32px, but the width adjusts to accommodate the content while maintaining minimum touch target requirements.

Both Small and Large variants use 40px target size.

Chips target size

Chips in a group should have at least 8px spacer between them.

Chips spacing

Dismissible chips example

Dismissible chips used as a content filter for dynamic data in tables

Selectable chips example

Single-selection selectable chips used in a filter modal

Keep chip text concise and focused. Long text in chips can disrupt visual consistency and layout.

Users expect filter selections to apply immediately. However, in some cases, typically within filter modals with prominent “Apply Changes” buttons, changes may only take effect after confirmation.

Start with either all options unselected or the most logical “default” option selected. Such a default should always be the first item in the list.

If options were previously selected by the user, it might make sense to retain those selections, otherwise, let users make their own choices rather than pre-selecting options for them.

Selectable chips can be configured to either allow multiple selections at once or just one selection at a time. However, to avoid ambiguity, it is important to stick to one of these behaviors per page/flow.

Avoid truncation when possible, but if necessary, use ellipsis and provide tooltips. Consider internationalization and varying text lengths across languages.

Chips content overflow

In contexts with many chips or limited space, display a subset of the most important options initially with an action to reveal the complete set. Based on general UX principles like Miller’s Rule of 7±2 for optimal cognitive processing, start by showing 3-5 chips on mobile devices and 5-8 on desktop.

Chips progressive disclosure