Breadcrumbs

Figma logo The guideline content on this page is synced with Figma and can be used as a source of truth. Open in Figma

This component shows the navigational hierarchy of a page.


Anatomy

  1. Page link
  2. Separator
  3. Current page
Breadcrumb anatomy: 1 — page link, 2 — separator, 3 — current page

States

A breadcrumb item can have various states, such as enabled, disabled, hover, focused, and selected, which visually communicate its current behaviour and interactivity to the user.


Default

By default, the first item is the root category page, and the last item is the current page. A chevron separates pages to show their hierarchical relationship.


Placement

Breadcrumbs are consistently positioned at the top of the page header across all pages.

This placement ensures a uniform, highly visible, and easily accessible navigational overview for users, maintaining a consistent experience throughout our product.

Breadcrumb placed at the top of a page header, above the page title

Last item

The last item in a breadcrumb shows the current page. This should be static and not be interactive.


Clickable area

It is important for the entire label in a breadcrumb to be clickable to ensure usability and consistency.

By making the entire text and its surrounding space a clickable target, you create a more efficient and predictable user experience.

Breadcrumb item with the cursor over the full label — the entire text and its surrounding space is the clickable target

Accessibility

Keyboard interaction

All interactive breadcrumb links must be reachable via Tab and Shift + Tab. Activate the focused link with Enter. The current page (last item) is non-interactive and is removed from the tab order with tabindex="-1", so keyboard users never land on it.


Best practices

Number of labels

Keep breadcrumb chains to a small number of items, typically up to five. Avoid long chains that span most of the viewport — they become harder to scan and dilute the value of the navigational summary.

Do

Use a focused chain of five or fewer labels so the hierarchy reads at a glance.

Don't

Avoid pushing the chain past five labels — it begins to span the viewport and loses its summary value.


Specs

Breadcrumb specifications showing a 4 px gap on each side of the chevron-right separator

Developer reference

The following sections describe supported functionality that is not part of the Figma design specification.


Marking the current page

Apply .active on the last <li>; the inner anchor shifts to the selected colour and pointer-events: none is applied. Because the link remains in the DOM, add tabindex="-1" and aria-current="page" to it so keyboard users do not land on a non-interactive item.


Mid-chain disabled item

Apply .disabled on an <li> when a level in the hierarchy is not reachable from the current path. The link inside becomes non-interactive, the label shifts to the disabled colour, and the chevron after the disabled item picks up the same tint. Use sparingly — the canonical breadcrumb chain is fully interactive up to the current page.