ProComponents, templates & AI tooling
HeroUI
27.7k

Breadcrumbs

Navigation breadcrumbs showing the current page's location within a hierarchy

Usage

import { Breadcrumbs } from '@heroui/react';

Anatomy

import { Breadcrumbs } from '@heroui/react';

export default () => (
  <Breadcrumbs>
    <Breadcrumbs.Item href="#">Home</Breadcrumbs.Item>
    <Breadcrumbs.Item href="#">Category</Breadcrumbs.Item>
    <Breadcrumbs.Item>Current Page</Breadcrumbs.Item>
  </Breadcrumbs>
)

Examples

Disabled State

Custom Separator

Render Function

Customization

Tailwind CSS

Global CSS

To customize the Breadcrumbs component classes, you can use the @layer components directive. Learn more.

@layer components {
  .breadcrumbs {
    @apply gap-4 text-lg;
  }

  .breadcrumbs__link {
    @apply font-semibold;
  }

  .breadcrumbs__separator {
    @apply text-blue-500;
  }
}

Styling Reference

HeroUI follows the BEM methodology to ensure component variants and states are reusable and easy to customize.

CSS Classes

The Breadcrumbs component uses these CSS classes (View source styles):

Base Classes

  • .breadcrumbs - Base breadcrumbs container
  • .breadcrumbs__item - Individual breadcrumb item wrapper
  • .breadcrumbs__link - Breadcrumb link element
  • .breadcrumbs__separator - Separator icon between items

State Classes

  • .breadcrumbs__link[data-current="true"] - Current page indicator (not a link)

Interactive States

The component supports both CSS pseudo-classes and data attributes for flexibility:

  • Current: [data-current="true"] on link (indicates current page)
  • Hover: Link elements support standard hover states
  • Disabled: isDisabled prop disables all links

API Reference

PropTypeDefaultDescription
separatorReactNodechevron-right iconCustom separator between breadcrumb items
isDisabledbooleanfalseWhether all breadcrumb links are disabled
classNamestring-Additional CSS classes
childrenReactNode-The breadcrumb items
renderDOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>-Overrides the default DOM element with a custom render function.
PropTypeDefaultDescription
hrefstring-The URL to link to (omit for current page)
classNamestring-Additional CSS classes
childrenReactNode | RenderFunction-Item content or render function
renderDOMRenderFunction<keyof React.JSX.IntrinsicElements, BreadcrumbRenderProps>-Overrides the default DOM element with a custom render function.

Accessibility

Breadcrumbs uses React Aria Components' Breadcrumbs primitive, which provides:

  • Proper ARIA attributes for navigation landmarks
  • Current page indication via aria-current="page"
  • Keyboard navigation support
  • Screen reader announcements for navigation context

The last breadcrumb item (without href) automatically becomes the current page indicator.

On this page