What this does
Breadcrumbs are the little trail at the top of a page that says something like Home > Blog > SEO > This Article. Google can show that trail right inside your search listing instead of a long, ugly URL. But it only happens if the page carries BreadcrumbList structured data, and that markup is fussy about position numbers.
Add your crumbs, drag them into order, and the generator hands you ready-to-paste JSON-LD. Each ListItem gets a position that starts at 1 and counts up. Miss that detail and Google quietly ignores the whole block.
How to use it
Start with the sample, or clear it and build your own. Each crumb takes a name (what the user sees) and a URL. The first crumb is almost always your homepage. The last one is the page you’re on right now.
Reorder with the up and down arrows. Drop a crumb with Remove. The output rebuilds the instant you change anything, so you can watch the position values renumber themselves. When it looks right, hit Copy and drop the <script> block into your page’s HTML. Head or body both work. Google reads it either way.
One handy shortcut: the current page (your last crumb) doesn’t need a URL. Google treats a final item without item as the page itself. Leave that field blank and the tool just emits a name and a position for it.
Why position numbering trips people up
Here’s the thing most hand-coded breadcrumb markup gets wrong. The position property isn’t a zero-based array index like a programmer expects. It’s a human count. Home is 1. The category is 2. The article is 3. Skip a number, start at 0, or repeat a value and the Rich Results Test throws a warning.
This tool counts for you. Reorder a four-item trail and positions 1 through 4 reassign themselves automatically. No off-by-one headaches.
Good to know
The markup you copy is @type: BreadcrumbList, the exact type Google documents for breadcrumb rich results. It pairs nicely with on-page breadcrumb links, though the two are independent. You can ship the JSON-LD even if your visible breadcrumbs are styled differently, as long as the names and order match what users actually see.
Want to sanity-check the output? Paste it into Google’s Rich Results Test at search.google.com/test/rich-results. Valid markup doesn’t guarantee a breadcrumb appears in search (Google decides that), but invalid markup guarantees it won’t.
Everything happens in your browser. Nothing you type gets uploaded.
Common questions
Does the last crumb need a URL?
Nope. The current page is allowed to skip its item value. Fill it in if you like, or leave it blank and the tool emits just the name.
How many breadcrumb levels should I use? Match your real site hierarchy. Two to five levels is typical. A homepage, a section, maybe a sub-section, then the page. Don’t pad it with fake steps to look deeper.
Can I have more than one breadcrumb trail on a page?
Yep, Google supports multiple BreadcrumbList blocks if a page genuinely sits in two places (say, two product categories). Generate each trail separately and add both <script> tags.
JSON-LD or Microdata? Go with JSON-LD. It’s a single script block, separate from your HTML, and it’s the format Google recommends. Microdata scatters attributes across your markup and is far easier to break.
Will this give me a guaranteed rich result?
No tool can promise that. Valid BreadcrumbList makes your page eligible. Whether Google shows the trail depends on the query and your site’s quality. But you can’t win the lottery without a ticket, and this is the ticket.