Skip to content
GitHub

Breadcrumb

Displays the path to the current resource using a hierarchy of links.

/** biome-ignore-all lint/a11y/useValidAnchor: demo */
import {
Breadcrumb,
BreadcrumbEllipsis,
BreadcrumbItem,
BreadcrumbLink,
BreadcrumbList,
BreadcrumbPage,
BreadcrumbSeparator,
} from "@/components/ui/pxl/breadcrumb";
import { Button } from "@/components/ui/pxl/button";
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuGroup,
DropdownMenuItem,
DropdownMenuTrigger,
} from "@/components/ui/pxl/dropdown-menu";
export default function BreadcrumbDemo() {
return (
<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbLink render={<a href="#">Home</a>} />
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<DropdownMenu>
<DropdownMenuTrigger
render={
<Button size="icon-sm" variant="ghost">
<BreadcrumbEllipsis />
<span className="sr-only">Toggle menu</span>
</Button>
}
/>
<DropdownMenuContent align="start">
<DropdownMenuGroup>
<DropdownMenuItem>Documentation</DropdownMenuItem>
<DropdownMenuItem>Themes</DropdownMenuItem>
<DropdownMenuItem>GitHub</DropdownMenuItem>
</DropdownMenuGroup>
</DropdownMenuContent>
</DropdownMenu>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbLink render={<a href="#">Components</a>} />
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Breadcrumb</BreadcrumbPage>
</BreadcrumbItem>
</BreadcrumbList>
</Breadcrumb>
);
}
pnpm dlx shadcn@latest add pxl-ui/registry/breadcrumb
import {
Breadcrumb,
BreadcrumbItem,
BreadcrumbLink,
BreadcrumbList,
BreadcrumbPage,
BreadcrumbSeparator,
} from "@/components/ui/pxl/breadcrumb"
<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbLink render={<a href="/" />}>Home</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbLink render={<a href="/components" />}>
Components
</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Breadcrumb</BreadcrumbPage>
</BreadcrumbItem>
</BreadcrumbList>
</Breadcrumb>

Use the following composition to build a Breadcrumb:

Breadcrumb
└── BreadcrumbList
├── BreadcrumbItem
│ └── BreadcrumbLink
├── BreadcrumbSeparator
├── BreadcrumbItem
│ └── BreadcrumbLink
├── BreadcrumbSeparator
└── BreadcrumbItem
└── BreadcrumbPage

Use a custom component as children for <BreadcrumbSeparator /> to create a custom separator.

You can compose <BreadcrumbItem /> with a <DropdownMenu /> to create a dropdown in the breadcrumb.

We provide a <BreadcrumbEllipsis /> component to show a collapsed state when the breadcrumb is too long.

To use a custom link component from your routing library, you can use the render prop on <BreadcrumbLink />.

To enable RTL support in shadcn/ui, see the RTL configuration guide.

The Breadcrumb component is the root navigation element that wraps all breadcrumb components.

Prop Type Default
className string -

The BreadcrumbList component displays the ordered list of breadcrumb items.

Prop Type Default
className string -

The BreadcrumbItem component wraps individual breadcrumb items.

Prop Type Default
className string -

The BreadcrumbLink component displays a clickable link in the breadcrumb.

Prop Type Default
className string -

The BreadcrumbPage component displays the current page in the breadcrumb (non-clickable).

Prop Type Default
className string -

The BreadcrumbSeparator component displays a separator between breadcrumb items. You can pass custom children to override the default separator icon.

Prop Type Default
children React.ReactNode -
className string -

The BreadcrumbEllipsis component displays an ellipsis indicator for collapsed breadcrumb items.

Prop Type Default
className string -