The PageBreadcrumbs component is used to display breadcrumb navigation at the top of your page, helping users understand their current location in your app’s hierarchy and navigate back to parent pages.
To use this component, you’ll need to be on version 0.13.0 or later of the ui-extensions NPM package. You can check your current version by running npm list or npm list -g, and install the latest version by running npm i @hubspot/ui-extensions.
Basic usage
The PageBreadcrumbs component should be placed at the top of your page component, before the PageTitle. It typically contains a combination of PageBreadcrumbs.PageLink components (for navigable breadcrumbs) and a PageBreadcrumbs.Current component (for the current page).
Props
Examples
Simple breadcrumb trail
Multi-level breadcrumb trail
Breadcrumbs with dynamic content
Complete page example
Here’s a full example showing breadcrumbs, title, and page content together:
Breadcrumbs in a layout component using route IDs
When using a layout component, you can use routeId from usePageRoute() to render different breadcrumb trails based on the active route:
Breadcrumb patterns
Pattern: All links except current page
The most common pattern is to make all breadcrumb items clickable except the current page, which is displayed as plain text:
Pattern: Minimal breadcrumbs
For shallow hierarchies, you might only show the home link and current page:
Pattern: Resource hierarchy
Show the hierarchy when viewing a specific resource:
Guidelines
- DO: place
PageBreadcrumbs at the top of your page component, before PageTitle.
- DO: use
PageBreadcrumbs.PageLink for all breadcrumb items except the current page.
- DO: use
PageBreadcrumbs.Current for the current page (the last breadcrumb item).
- DO: keep breadcrumb labels concise and descriptive.
- DO: include breadcrumbs on all pages except the home page.
- DON’T: make the current page clickable in the breadcrumbs.
- DON’T: create excessively deep breadcrumb trails (more than 4-5 levels).
- DON’T: use breadcrumbs for linear processes - use step indicators instead.
Accessibility
The PageBreadcrumbs component automatically provides proper accessibility features:
- Uses semantic HTML breadcrumb navigation
- Includes proper ARIA labels for screen readers
- Provides clear visual hierarchy
- Supports keyboard navigation through the links