Component guideEditable source

Breadcrumb

A linked trail showing the current page's place in a hierarchy.

Original component docs
On this page4 sectionsBack to top

Use Breadcrumb when the page belongs to a meaningful hierarchy. Parent levels are links; the current page is a non-interactive label. It is not a replacement for primary navigation or browser history.

Live preview
Loading preview...

#Installation

Complete the base setup, then install or copy this file:

npx shadcn@latest add https://neobrutal-ui.andongmin.com/r/breadcrumb.json

The live preview additionally uses Dropdown Menu for the omitted levels. Install it before copying the Code example:

npx shadcn@latest add https://neobrutal-ui.andongmin.com/r/dropdown-menu.json

#Usage

import {
  Breadcrumb,
  BreadcrumbList,
  BreadcrumbItem,
  BreadcrumbLink,
  BreadcrumbPage,
  BreadcrumbSeparator,
} from "@/components/ui/breadcrumb";

export default function DocumentationTrail() {
  return (
    <Breadcrumb>
      <BreadcrumbList>
        <BreadcrumbItem>
          <BreadcrumbLink href="/">Home</BreadcrumbLink>
        </BreadcrumbItem>
        <BreadcrumbSeparator />
        <BreadcrumbItem>
          <BreadcrumbLink href="/docs">Documentation</BreadcrumbLink>
        </BreadcrumbItem>
        <BreadcrumbSeparator />
        <BreadcrumbItem>
          <BreadcrumbPage>Components</BreadcrumbPage>
        </BreadcrumbItem>
      </BreadcrumbList>
    </Breadcrumb>
  );
}

#API reference

Prop / partPurposeDefault
BreadcrumbNavigation landmark and native nav propsLabelled breadcrumb
BreadcrumbList / BreadcrumbItemOrdered trail and steps—
BreadcrumbLink.href / renderDestination or router-link compositionAnchor
BreadcrumbPageCurrent non-interactive pagearia-current="page"
BreadcrumbSeparatorDecorative dividerChevron
BreadcrumbEllipsisVisual omitted-level indicatorNot a menu button
BreadcrumbLink.asChildCompose the first element child as the linkfalse

#Accessibility

Use descriptive link text and mark only the current page. Separators are decorative. An ellipsis alone does not reveal hidden levels: compose a real menu trigger when users need to open the omitted trail. On narrow screens allow wrapping rather than hiding the current page.