Chip
Chips are interactive components that help users filter the amount of information displayed on the page.
Also known as: badge, button group, button toggle, chip group, filter chip, interactive tag, label, lozenge, pill, segmented buttons, status badge, status indicator, tag, token
Type
Permalink to "Type"Input chip
Permalink to "Input chip"Input chips are primarily for user-selected categories and disappear when clicked.
<bolt-chip-group>
<bolt-input-chip label="Category 1"></bolt-input-chip>
<bolt-input-chip label="Category 2"></bolt-input-chip>
<bolt-input-chip label="Category 3"></bolt-input-chip>
</bolt-chip-group>
Toggle chip
Permalink to "Toggle chip"Toggle chips are for pre-defined categories and toggle between checked and unchecked when clicked.
<bolt-chip-group>
<bolt-toggle-chip label="Category 1"></bolt-toggle-chip>
<bolt-toggle-chip label="Category 2" checked></bolt-toggle-chip>
<bolt-toggle-chip label="Category 3"></bolt-toggle-chip>
</bolt-chip-group>
Color
Permalink to "Color"All of the following color options apply to both input chips and toggle chips.
Default color
Permalink to "Default color"By default, chip color automatically adapts to both local background context and global theme.
<bolt-chip-group>
<bolt-toggle-chip label="Category 1"></bolt-toggle-chip>
<bolt-toggle-chip label="Category 2" checked></bolt-toggle-chip>
<bolt-toggle-chip label="Category 3"></bolt-toggle-chip>
</bolt-chip-group>
Theme colors
Permalink to "Theme colors"Theme colors adjust with the global theme to preserve a semantic hierarchy of color options, while ensuring minimum contrast ratios.
They can safely be used on any theme surface color, but should not be used on static background color contexts.
<bolt-chip-group>
<bolt-toggle-chip color="primary" label="Primary"></bolt-toggle-chip>
<bolt-toggle-chip color="secondary" label="Secondary"></bolt-toggle-chip>
<bolt-toggle-chip color="tertiary" label="Tertiary"></bolt-toggle-chip>
</bolt-chip-group>
Static colors
Permalink to "Static colors"Static chip color options should be chosen in accordance with brand standards and contrast minimums.
<bolt-chip-group>
<bolt-toggle-chip label="charcoal" color="charcoal"></bolt-toggle-chip>
<bolt-toggle-chip label="darkBlue" color="darkBlue"></bolt-toggle-chip>
<bolt-toggle-chip label="darkGray" color="darkGray"></bolt-toggle-chip>
<bolt-toggle-chip label="darkMint" color="darkMint"></bolt-toggle-chip>
<bolt-toggle-chip label="mediumBlue" color="mediumBlue"></bolt-toggle-chip>
<bolt-toggle-chip label="vibrantBlue" color="vibrantBlue"></bolt-toggle-chip>
</bolt-chip-group>
<bolt-chip-group>
<bolt-toggle-chip label="lightBlue" color="lightBlue"></bolt-toggle-chip>
<bolt-toggle-chip label="mint" color="mint"></bolt-toggle-chip>
<bolt-toggle-chip label="paleGray" color="paleGray"></bolt-toggle-chip>
<bolt-toggle-chip label="white" color="white"></bolt-toggle-chip>
</bolt-chip-group>
Elements
Permalink to "Elements"<bolt-chip-group>
Permalink to "<bolt-chip-group>"Chips should be wrapped in a <bolt-chip-group> element to ensure that adequate white space is available between chips for the focus ring to avoid overlap.
<bolt-input-chip>
Permalink to "<bolt-input-chip>"properties
Permalink to "properties"color(optional)- By default, automatically adapts to contextual theme and global theme to ensure accessible contrast.
When configuring color, designers are responsible for meeting brand standards and contrast minimums.
- Theme colors
- Dynamically update with the global theme.
- Provides a consistent hierarchy of accent colors that work in both light and dark mode.
- Values:
primarysecondarytertiary
- Static colors
- Neither thematically nor contextually aware.
- Values:
vibrantBluecharcoaldarkBluedarkGraydarkMintlightBluemediumBluemintpaleGraywhite
- By default, automatically adapts to contextual theme and global theme to ensure accessible contrast.
Test selectors
Permalink to "Test selectors"datatestbutton(optional)- Optional property to configure the
[data-test]value on the underlying<button>element. - default:
"button"
- Optional property to configure the
label(required)- The label text for the input chip.
events
Permalink to "events"The input chip has built-in logic to handle dismissal (affecting appearance and presence in the DOM).
Interfering with this built-in behavior will have adverse effects on accessibility.
blurbolt-dismissed: fires when user has dismissed the chipbolt-removed: fires when a dismissed chip is removed from the DOMclickfocus
<bolt-toggle-chip>
Permalink to "<bolt-toggle-chip>"properties
Permalink to "properties"arialabel(optional)- Overrides the accessible label of the underlying
<input>.
- Overrides the accessible label of the underlying
checked(optional)- If present, the control is checked.
color(optional)- By default, automatically adapts to contextual theme and global theme to ensure accessible contrast.
When configuring color, designers are responsible for meeting brand standards and contrast minimums.
- Theme colors
- Dynamically update with the global theme.
- Provides a consistent hierarchy of accent colors that work in both light and dark mode.
- Values:
primarysecondarytertiary
- Static colors
- Neither thematically nor contextually aware.
- Values:
vibrantBluecharcoaldarkBluedarkGraydarkMintlightBluemediumBluemintpaleGraywhite
- By default, automatically adapts to contextual theme and global theme to ensure accessible contrast.
Test selectors
Permalink to "Test selectors"datatestinput(optional)- Optional property to configure the
[data-test]value on the underlying<input>element. - default:
"input"
- Optional property to configure the
label(required)- The label text for the toggle chip.
events
Permalink to "events"blurchange: fires when toggledclickfocusinput: fires when toggled
General guidelines
Permalink to "General guidelines"- Chips can be used to allow users to control information displayed on a page.
- Consider using Chips when more than 1 filter can be applied.
- Chips of the same type should be grouped together and include labels to provide context.
- Multiple groups of Chips may exist on the same page. Likewise, Input and Toggle Chips may coexist on a page.
- If both types of Chips are used on the same page, there should be clear delineation between the groups and as much space between them as possible.
- There should be a way for all Chips to be cleared at once. (e.g., a "Clear filters" Button)
- Consumers are responsible for choosing Chip colors that pass accessibility requirements.
Toggle Chip
Permalink to "Toggle Chip"- Toggle Chips have a checked and unchecked state.
- Clicking a Toggle Chip should initiate a change to the opposite state.
- The leading Icon in a selected Toggle Chip should not be swapped out for other icons. Nor should it be hidden.
Input Chip
Permalink to "Input Chip"- Input Chips may appear from different sources:
- When a user makes a selection from a Select or similar input.
- When a Toggle Chip is clicked.
- When a user types in a text field or applies other text-based filtering criteria.
- The Chip label should display the selected or typed filtered criteria.
- Clicking an Input Chip should dismiss the Chip and remove the filtering associated with it.
- The trailing Icon should not be swapped out for other icons. Nor should it be hidden.
When to use
Permalink to "When to use"- When there is a large set of data or information and filtering would help a user narrow to their desired results.
When not to use
Permalink to "When not to use"- Avoid using Chips to display non-interactive metadata.
- Avoid when interactions do not affect the current page.
When to use something else
Permalink to "When to use something else"- If displaying non-interactive, categorical metadata, use Tag instead.
- When making a selection affects what appears next in a flow, use Radio button or Checkbox instead.
- When navigation is desired, use Link or Button instead.
Do
- Include labels to give context to a group of Chips.
- Include a way for filters and Chips to be cleared at once.
- Use only one color per set of Chips.
- Chip color must pass 4.5:1 contrast ratio on its surface.
- Use a single Chip type in a group.
- Make the entirety of a Chip one clickable element.
Don't
- Don't use Chip to trigger an action that will navigate away from the current page.
- Don't use Chips as a Radio group or Checkbox group.
- Don't mix Chip colors in a single group.
- Don't mix Chip types in a single group.
- Don't add additional actions into a Chip. It should only be one clickable area.
Content guidelines
Permalink to "Content guidelines"- Chip labels should not wrap or truncate.
- Input chip labels should match filtered criteria.
Accessibility compliance
Permalink to "Accessibility compliance"-
WCAG 2.2 Compliant
-
JAWS 2025 Tested
-
NVDA 2025 Tested
-
VoiceOver Tested
-
Keyboard Tested
-
aXe Tested
Important notes
Permalink to "Important notes"- Chips require a minimum contrast of 4.5:1 between the chip color and its parent surface.
- Input chips have built-in logic to announce dismissal and retain tab focus position.
- Downstream application logic should not interfere with this behavior.
- Make use of live regions to announce updates to displayed information that are a result of interacting with chips.
All Bolt components have gone through accessibility testing, but please keep our accessibility guidelines in mind.