shadcn.io is an independent project built on shadcn/ui
The first crumb is a home icon, named Home for screen readers, with no visible word. Then Components, then Breadcrumb as the current page. A rounded border hugs the line. The box does not react on hover.
Use it when the root should be an icon and the trail should read as its own chip. A site menu is a Navigation Menu. In React, Base UI does not know which page is current.
Installation
Anatomy

Usage
<Breadcrumb className="w-fit rounded-lg border px-3 py-2">
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbLink aria-label="Home" render={<Link href="/" />}>
<HomeIcon aria-hidden="true" className="size-4" />
</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbLink render={<Link href="/components" />}>
Components
</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Breadcrumb</BreadcrumbPage>
</BreadcrumbItem>
</BreadcrumbList>
</Breadcrumb>FAQ
How is the border applied?
Breadcrumb takes w-fit rounded-lg border px-3 py-2. The nav becomes the box, and w-fit keeps it only as wide as the trail instead of the full row.
How is the home icon named?
The link to / holds only a HomeIcon at size-4, hidden from assistive tech, so the link carries aria-label="Home". Screen readers announce it as the Home link.
Which separator sits between the crumbs?
An empty BreadcrumbSeparator renders a chevron, hidden from assistive tech.
Does the box react on hover?
No. Only the links change, to the foreground color. The border and padding belong to the nav, which isn't a control.
API Reference
Breadcrumb
No extra props in this demo. The rest is on the Breadcrumb page.

