---
title: "Breadcrumb Schema · Unhead"
canonical_url: "https://unhead.unjs.io/docs/typescript/schema-org/api/schema/breadcrumb"
last_updated: "2026-09-10T04:25:49.103Z"
meta:
  description: "Use defineBreadcrumb() to add BreadcrumbList structured data that describes a page's position in the site hierarchy."
  "og:description": "Use defineBreadcrumb() to add BreadcrumbList structured data that describes a page's position in the site hierarchy."
  "og:title": "Breadcrumb Schema · Unhead"
---

Home

`
Unhead on GitHub

Switch to TypeScriptSwitch to VueSwitch to ReactSwitch to SvelteSwitch to Solid.jsSwitch to AngularSwitch to Nuxt

**Schema**

# **Breadcrumb Schema**

[Copy for LLMs](https://raw.githubusercontent.com/unjs/unhead/refs/heads/main/docs/schema-org/5.api/9.schema/breadcrumb.md)

## Schema.org Breadcrumb

- **Type**: `defineBreadcrumb<T extends Record<string, any>>(input?: BreadcrumbList & T)`  
  Describes a `**BreadcrumbList**` on a WebPage.

## Useful Links

- [**~~BreadcrumbList - Schema.org~~**](https://schema.org/BreadcrumbList)
- [**~~Breadcrumb Schema Markup - Google Search Central~~**](https://developers.google.com/search/docs/appearance/structured-data/breadcrumb)
- [**~~Recipe: Breadcrumbs~~**](https://unhead.unjs.io/docs/schema-org/guides/recipes/breadcrumbs)

## Required properties

- **itemListElement**  
  An array of `**ListItem**` objects, representing the position of the current page in the site hierarchy.

## Examples

### Minimal

```
defineBreadcrumb({
  itemListElement: [
    { name: 'Home', item: '/' },
    { name: 'Blog', item: '/blog' },
    { name: 'My Article' },
  ],
})
```

## Defaults

- **@type**: `**BreadcrumbList**`
- **@id**: `**${canonicalUrl}#breadcrumb**`

## Relation Transforms

[**~~WebPage~~**](https://unhead.unjs.io/docs/schema-org/api/schema/webpage)

- sets default `**breadcrumb**` to this node

## Resolves

- `**itemListElement.position**` is computed for each list element

## Types

```
/**
 * A BreadcrumbList is an ItemList consisting of a chain of linked Web pages,
 * typically described using at least their URL and their name, and typically ending with the current page.
 */
export interface BreadcrumbSimple extends ItemList {
  '@type'?: 'BreadcrumbList'
}
```

## Related Schemas

- [**~~ItemList~~**](https://unhead.unjs.io/docs/schema-org/api/schema/item-list): List structure
- [**~~Article~~**](https://unhead.unjs.io/docs/schema-org/api/schema/article): Article navigation
- [**~~Product~~**](https://unhead.unjs.io/docs/schema-org/api/schema/product): Product navigation

[Edit this page](https://github.com/unjs/unhead/edit/main/docs/schema-org/5.api/9.schema/breadcrumb.md)

[Markdown For LLMs](https://raw.githubusercontent.com/unjs/unhead/refs/heads/main/docs/schema-org/5.api/9.schema/breadcrumb.md)

**Did this page help you? **

[**Book Schema** Use defineBook() and defineBookEdition() to describe a book work, its editions, ISBN, author, and read actions.](https://unhead.unjs.io/docs/schema-org/api/schema/book) [**Comment Schema** Use defineComment() to add Comment structured data. Connect user comments to articles and blog posts with author and date information.](https://unhead.unjs.io/docs/schema-org/api/schema/comment)

**On this page **

- [Schema.org Breadcrumb](#schemaorg-breadcrumb)
- [Useful Links](#useful-links)
- [Required properties](#required-properties)
- [Examples](#examples)
- [Defaults](#defaults)
- [Relation Transforms](#relation-transforms)
- [Resolves](#resolves)
- [Types](#types)
- [Related Schemas](#related-schemas)