Breadcrumb Schema Generator

A breadcrumb trail shows where a page sits in a site: Home, then a section, then the page. This generator writes that trail as BreadcrumbList JSON-LD, numbering each breadcrumb by its place, and checks it against rules taken from Google's breadcrumb documentation. Fill in the rows, reorder them with the Up and Down buttons, or import a trail you already have. Nothing you type is sent anywhere.

Breadcrumbs, from the top of the trail down
  1. Breadcrumb 1
  2. Breadcrumb 2
  3. Breadcrumb 3

0 B of 1 MB

The checks are rules this page took from Google's breadcrumb documentation (last updated 8 September 2026), read on 22 October 2026. The Rich Results Test and the Schema Markup Validator have the final word, so test the published page there too.

Breadcrumbs
-
Trail
-
Findings
-

How to use the Breadcrumb Schema Generator

  1. Write each breadcrumb's name and full address, from the top of the trail down, or import a trail and press its button.
  2. Reorder with Up and Down, or press Remove; the positions follow the rows.
  3. Leave the address of the last breadcrumb empty if it is the page itself.
  4. Fix the findings, paste the script element into the page, and test the published page with the Rich Results Test.

Worked example

A gardening article sits under Houseplants and Ferns. Press Load the example to import its trail, written one breadcrumb per line: the second address is relative and gets a warning, and the last breadcrumb, the article itself, has no address, which Google allows.

Home | https://www.example.com/
> Houseplants | /houseplants/
> Ferns | https://www.example.com/houseplants/ferns/
> How to repot a fern
Breadcrumbs
4
Trail
Home > Houseplants > Ferns > How to repot a fern
Findings
2

How to read the results

Breadcrumbs and Trail
How many rows went into the markup, empty ones left out, and the trail as a page would show it, each name in order with > between them.
Findings
Required means a property Google's breadcrumb page lists as required is missing, such as the address of a breadcrumb before the last. A warning is an address that is relative or not a web address. A note says what Google allows, or points out an empty row, a repeated address or a change of host.
Where
The breadcrumb a finding is about, by its row number, and the box: Breadcrumb 2, address. BreadcrumbList means the trail as a whole.
JSON-LD and Script element for the page
The BreadcrumbList with each ListItem's position, name and item, and the same text inside a script element ready for the page. Copy takes all of it.

How this tool works and its limitations

Each row's name and address are trimmed; a row with both empty is left out, and the rest become ListItems numbered 1, 2, 3 in row order, with item written only when the address is filled in. Up and Down swap the boxes of two rows, so the numbers always follow the list on screen. The import box splits its text at " > " and at line breaks, ignores a > at the start or end of a line, and splits each breadcrumb at its first |, then replaces the rows.

The markup goes through the same breadcrumb rules as the JSON-LD Generator: at least two ListItems, and position, name and item on each, except item on the last. Addresses are checked as full http or https addresses. Each finding is then moved to the row it is about, and the form adds notes for a gap, a repeated address and a change of host.

  • The rules are this page's reading of Google's breadcrumb documentation, last updated 8 September 2026 and read on 22 October 2026; the Rich Results Test decides what Google accepts.
  • Each breadcrumb's item is written as a plain address. A ListItem whose item is a Thing with its own @id and name, which Google also accepts, has to be written by hand.
  • One list builds one trail. For a page reached by two paths, build each trail on its own and paste both blocks.
  • The checks see the addresses as text only: they cannot tell whether a page exists, redirects or is the canonical address.
  • The list takes up to 20 breadcrumbs and each box up to 1 MB of text; more is refused with a message.

Features

  • Rows numbered as positions, with named Up, Down and Remove buttons that work by keyboard.
  • An import box that reads a trail written with " > " between breadcrumbs, on one line or several.
  • Findings named by breadcrumb, for a missing name or address, a relative address, a duplicate or another host.
  • A script element whose names cannot close it early, whatever they contain.

What Google documents for breadcrumbs

Google's breadcrumb documentation, last updated 8 September 2026, lists itemListElement as required for a BreadcrumbList, and item, name and position as required for each ListItem, with position 1 at the start of the trail. It asks for at least two ListItems. The last breadcrumb may leave out item, and Google then uses the address of the page that holds the markup. Since January 2025 the feature appears on desktop results only, as the updates page records, because breadcrumbs get cut short on small screens.

A typical path, not a copy of the URL

Google recommends breadcrumbs that follow a path a visitor would take to the page, rather than mirroring the folders of its address, and says a trail need not include the top level of the domain or the page itself. A recipe stored under /2026/10/ can still sit in a trail of Home, Desserts, Cakes. When a page can be reached along two paths, the documentation allows a trail for each; build them one at a time here and paste both blocks.

Why every address is written in full

Each item names a page, and a relative path such as /houseplants/ only means something next to the address of the page it sits on. The checks warn on relative, protocol relative and non web addresses, and note a trail whose addresses repeat or move to another host. Passing them is not a promise: Google's general guidelines say correct markup may still not be shown, and that markup must describe what readers can see, so the trail belongs on the page as well.

Frequently asked questions

Does the last breadcrumb need an address?

No. Google's documentation says item is not required for the last breadcrumb and that Google then uses the address of the page holding the markup. Leave the last row's address empty and the ListItem is written without item.

How many breadcrumbs does a trail need?

At least two ListItems, as Google's page asks, so a single breadcrumb gets a required finding. This page takes up to 20 rows, its own cap; the documentation names no maximum.

Will breadcrumbs show on phones?

Google's updates page records that since 22 January 2025 breadcrumbs appear only on desktop search results, because they get cut short on smaller screens. The markup itself is the same for both.

How do I import a trail from my page?

Copy the trail into the import box with " > " between breadcrumbs, or one per line, and add a | and the address after each name. Press Replace the list with this trail and the rows fill in that order.

Is the list usable without a mouse?

Yes. Tab reaches every box and button. Up and Down swap a breadcrumb with its neighbor and keep focus on the moved one, Remove puts focus in the next breadcrumb, and each change is announced, such as Breadcrumb 3 moved up.

Should the home page be the first breadcrumb?

It often is, but Google says a trail does not need a breadcrumb for the top level of the domain, nor one for the page itself. Start where the trail helps a visitor find their way.

Last updated .