How this tool works
Reads ordered breadcrumb labels and absolute URLs, assigns sequential positions, and serializes a BreadcrumbList.
How to use it
- Enter one breadcrumb per line as label | absolute URL.
- Keep the sequence aligned with the visible page navigation.
- Validate the output and check that every destination is canonical.
Limits to keep in mind
It does not inspect the site hierarchy or verify that the links resolve. Search appearance is not guaranteed.
Frequently asked questions
Should the final crumb have a link?
It can represent the current page; use the structure that matches your visible breadcrumb trail.
Does breadcrumb markup guarantee a special result?
No. It helps describe page hierarchy but Google determines the display.
Should breadcrumb markup match the visible breadcrumbs?
Yes. The labels and order should reflect the navigation path users can see, and each URL should be the canonical address of that level.
What if a page belongs to more than one category?
Use the main path you want to represent, or mark up more than one trail if your site genuinely shows more than one. Do not invent paths that are not on the page.
What breadcrumb markup represents
Breadcrumbs show where a page sits within a site, such as Home, then a category, then the current page. Breadcrumb structured data describes that same path in JSON-LD using the BreadcrumbList type from schema.org. Each step is a list item with a position, a name and, for most items, a URL.
The Breadcrumb Schema Generator reads one breadcrumb per line in the form label | absolute URL, assigns sequential positions, and serializes the list as a BreadcrumbList. It produces the code for you to copy. It does not read your navigation, test whether the links work, or create visible breadcrumbs on your page. The structured data should describe a path that already exists for your visitors.
Represent the visible hierarchy
The markup should reflect the breadcrumb trail that users can see on the page, in the same order and with the same names. If your page shows Home, then Tools, then SEO Tools, then Robots.txt Generator, the structured data should list those four levels. Do not invent a trail that does not appear in the page navigation.
If a page can be reached through more than one path, choose the main path that best represents where the page belongs, or mark up more than one trail only if your page genuinely displays more than one. A simple, consistent hierarchy is easier for search engines to understand and easier for you to maintain. Keep levels in order from the broadest section down to the current page.
Choose labels and destinations carefully
Labels should be short and clear, matching the wording used in the visible breadcrumb. Use "Tools" or "SEO Tools", not a long sentence. Avoid repeating the same keyword at every level, and avoid labels that differ from the visible text.
For destinations, use the canonical, absolute URL of each level, including the protocol and host. Each link should return a successful response and should not be a redirect. If a category page exists only as a filtered view or an empty template, reconsider including it. Enter one breadcrumb per line, in order, and keep the format consistent so the tool can read each label and address correctly.
The last item in the trail
The final breadcrumb represents the current page. Google's guidance allows the last item to leave out its URL because the page is the one being viewed, but you can include the page's own address if you prefer, and it often makes the markup more consistent. The tool expects a URL for each line, so enter the current page's canonical URL as the last item.
Whichever approach you choose, make sure the name of the last item matches the visible title or a short version of it. A mismatch between the final breadcrumb name and the page heading does not break the markup, but it creates inconsistent signals. Keep the final label simple and accurate.
Install and compare with the rendered page
Copy the generated JSON-LD and add it to the page, either in the head or the body. Many themes and SEO plugins output breadcrumb schema on their own, so check the page source before adding your own, and avoid two different BreadcrumbList blocks on one page. If a plugin already produces correct breadcrumb markup, you may not need to add anything.
After publishing, compare the markup with the breadcrumb a visitor sees. The names, order and links should line up exactly. If you use a template for many pages, test several different pages, such as a top-level page, a category and a deep page, to make sure the structure changes correctly with each level.
Validate and monitor
Run the page through Google's Rich Results Test and the Schema Markup Validator. These show whether the code is valid and whether the breadcrumb is recognized. Common errors include a missing name, a missing position, an invalid URL, or an item listed twice.
Once the page is live, use the breadcrumb enhancement report in Google Search Console to track errors across your site. Fix issues by correcting the template, not only the single page. The way search engines display breadcrumbs can change, and the display is never guaranteed, so treat the markup as helpful context about your structure, not as a way to control your search appearance.
Troubleshooting and boundaries
The generator does not inspect your site hierarchy, confirm that the links resolve, or tell you how a search engine will show the result. If the output is rejected by a validator, look for stray bar characters in labels, relative URLs, spaces in addresses, or lines with no URL.
If your breadcrumb changes when users arrive from different places, for example from search or from a category list, choose one stable trail based on the site's structure instead of the visitor's path. Keep the markup and the visible trail synchronized whenever you rename a category, move a page or change a URL. Outdated breadcrumb data is a quiet error that is easy to miss and simple to prevent.
More SEO Tools · Browse the tools catalogue