# Breadcrumb

> A breadcrumb shows where the current page sits in the site hierarchy and links to the levels above it.

A breadcrumb trail for the current page location, with separators, icons and a muted style.

Source: https://docs.tabler.io/ui/components/breadcrumb

---

## Default markup

Add the `breadcrumb` class to the list and `breadcrumb-item` to each item. Mark the current page with the `active` class on its `li`.

```html
<!-- BEGIN BREADCRUMB -->
<nav aria-label="Breadcrumb">
  <ol class="breadcrumb">
    <li class="breadcrumb-item">
      <a href="#">Home</a>
    </li>
    <li class="breadcrumb-item">
      <a href="#">Library</a>
    </li>
    <li class="breadcrumb-item active" aria-current="page">Data</li>
  </ol>
</nav>
<!-- END BREADCRUMB -->
```

## Different separators

The separator is drawn in CSS and is a slash by default. `breadcrumb-dots`, `breadcrumb-arrows` and `breadcrumb-bullets` change it.

```html
<!-- BEGIN BREADCRUMB -->
<nav aria-label="Breadcrumb">
  <ol class="breadcrumb breadcrumb-dots">
    <li class="breadcrumb-item">
      <a href="#">Home</a>
    </li>
    <li class="breadcrumb-item">
      <a href="#">Library</a>
    </li>
    <li class="breadcrumb-item active" aria-current="page">Data</li>
  </ol>
</nav>
<!-- END BREADCRUMB -->
<!-- BEGIN BREADCRUMB -->
<nav aria-label="Breadcrumb">
  <ol class="breadcrumb breadcrumb-arrows">
    <li class="breadcrumb-item">
      <a href="#">Home</a>
    </li>
    <li class="breadcrumb-item">
      <a href="#">Library</a>
    </li>
    <li class="breadcrumb-item active" aria-current="page">Data</li>
  </ol>
</nav>
<!-- END BREADCRUMB -->
<!-- BEGIN BREADCRUMB -->
<nav aria-label="Breadcrumb">
  <ol class="breadcrumb breadcrumb-bullets">
    <li class="breadcrumb-item">
      <a href="#">Home</a>
    </li>
    <li class="breadcrumb-item">
      <a href="#">Library</a>
    </li>
    <li class="breadcrumb-item active" aria-current="page">Data</li>
  </ol>
</nav>
<!-- END BREADCRUMB -->
```

## With icon

An item can hold an [icon](/ui/components/icon) next to or instead of the text.

```html
<!-- BEGIN BREADCRUMB -->
<nav aria-label="Breadcrumb">
  <ol class="breadcrumb">
    <li class="breadcrumb-item">
      <a href="#" aria-label="Home">
        <!-- Download SVG icon from http://tabler.io/icons/icon/home -->
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="icon">
          <path d="M5 12l-2 0l9 -9l9 9l-2 0" />
          <path d="M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7" />
          <path d="M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v6" />
        </svg>
      </a>
    </li>
    <li class="breadcrumb-item">
      <a href="#">Library</a>
    </li>
    <li class="breadcrumb-item active" aria-current="page">Data</li>
  </ol>
</nav>
<!-- END BREADCRUMB -->
```

## Muted breadcrumbs

The `breadcrumb-muted` class renders the trail in the secondary text color, so it takes less attention than the page title next to it.

```html
<!-- BEGIN BREADCRUMB -->
<nav aria-label="Breadcrumb">
  <ol class="breadcrumb breadcrumb-muted">
    <li class="breadcrumb-item">
      <a href="#">Home</a>
    </li>
    <li class="breadcrumb-item">
      <a href="#">Library</a>
    </li>
    <li class="breadcrumb-item active" aria-current="page">Data</li>
  </ol>
</nav>
<!-- END BREADCRUMB -->
```

## Breadcrumb in headers

A breadcrumb usually sits in the [page header](/ui/layout/page-headers), above the title:

```html
<div class="page-header">
  <div class="row align-items-center mw-100">
    <div class="col">
      <!-- BEGIN BREADCRUMB -->
      <nav aria-label="Breadcrumb">
        <ol class="breadcrumb">
          <li class="breadcrumb-item">
            <a href="#">Home</a>
          </li>
          <li class="breadcrumb-item">
            <a href="#">Library</a>
          </li>
          <li class="breadcrumb-item active" aria-current="page">Articles</li>
        </ol>
      </nav>
      <!-- END BREADCRUMB -->
      <h2 class="page-title">
        <span class="text-truncate">How to Build a Modern Dashboard with Tabler</span>
      </h2>
    </div>
    <div class="col-auto">
      <div class="btn-list">
        <a href="#" class="btn d-none d-md-inline-flex">
          <!-- Download SVG icon from http://tabler.io/icons/icon/edit -->
          <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="icon">
            <path d="M7 7h-1a2 2 0 0 0 -2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2 -2v-1" />
            <path d="M20.385 6.585a2.1 2.1 0 0 0 -2.97 -2.97l-8.415 8.385v3h3l8.385 -8.415" />
            <path d="M16 5l3 3" />
          </svg> Edit
        </a>
        <a href="#" class="btn btn-primary">Publish</a>
      </div>
    </div>
  </div>
</div>
```

## Accessibility

- Wrap the list in `<nav aria-label="Breadcrumb">`. That label is what tells this navigation apart from the others on the page.
- Mark the last item with `aria-current="page"`. It is the current page, so it should not be a link.
- Keep the separator in CSS, as Tabler does. A separator typed into the markup is read out between every item.
- Breadcrumbs show where a page sits, not where the user has been. Keep them the same for everyone who lands on that page.
