Components

Breadcrumb

Shows the user's location within a nested hierarchy and lets them navigate back up the path.

Basic usage

Compose links with separators and end on a BreadcrumbPage for the current location.

Collapsed path

For deep hierarchies, replace middle segments with a BreadcrumbEllipsis to keep the trail compact.

Custom separator

Pass any node as children to BreadcrumbSeparator to swap the default chevron — here a Lucide Slash.

Props

PropTypeDefaultDescription
Breadcrumbnav propsRoot landmark. Renders a <nav aria-label="breadcrumb"> wrapper.
BreadcrumbListol propsOrdered list of items. Handles wrapping, gap, and muted text styling.
BreadcrumbItemli propsA single segment. Wraps a link, page, or ellipsis with inline alignment.
BreadcrumbLinka props & { asChild?: boolean }Navigable segment. Set asChild to render through a custom link component such as Next.js Link.
BreadcrumbPagespan propsThe current page. Non-interactive, with aria-current="page".
BreadcrumbSeparatorli propsChevronRightVisual divider between items. Pass children to override the default chevron icon.
BreadcrumbEllipsisspan propsCollapsed-segments indicator rendering a "..." glyph with a visually-hidden "More" label.

Accessibility

The root renders a <nav aria-label="breadcrumb"> landmark, so assistive tech announces the trail as a distinct navigation region.

BreadcrumbPage carries aria-current="page" and aria-disabled, marking the current location as non-interactive.

Separators are decorative — they use role="presentation" and aria-hidden so they are skipped by screen readers.

BreadcrumbEllipsis includes a visually-hidden “More” label so collapsed segments are still announced.