Here is how to create breadcrumb schema without hand-typing nested JSON: list your page names and URLs one level per line, set your site address once, and this breadcrumb schema generator returns valid BreadcrumbList JSON-LD with every position numbered.
Runs entirely in your browser — nothing is uploaded. Test the result in Google’s Rich Results Test before you publish.
How to Create Breadcrumb Schema
Write one line per level as Name | URL, starting with the home page, and the tool numbers each ListItem from 1 and wraps them in one BreadcrumbList. A trail of Home, Recipes, Desserts and Chocolate Cake comes out as 4 ListItems, positions 1 to 4, ready to paste into that page’s template.
- Enter your site URL, for example https://example.com.
- Type the levels top to bottom: Home | /, Recipes | /recipes/, Desserts | /recipes/desserts/, Chocolate Cake | /recipes/desserts/chocolate-cake/.
- Check the output: 4 levels, positions 1 to 4, and Home resolved to https://example.com/.
- Copy the block into the page and test it in the Rich Results Test.
What Is Breadcrumb Schema and How the Tool Builds It
Breadcrumb schema is code that tells search engines where a page sits in your site, from the home page down. They read it from BreadcrumbList JSON-LD in the page source. The tool reads your lines top to bottom, numbers them from 1, turns relative paths into full URLs and prints the finished object.
Formula: for each non-blank line n (counted from 1), split at the first | into name and URL. Output ListItem n = { position: n, name: name, item: absolute URL }, where absolute URL = the URL as written if it starts with http:// or https://, otherwise the path resolved against the site URL with standard browser URL rules. All ListItems go into itemListElement of one BreadcrumbList with @context https://schema.org. Any < character is written as \u003c so the block cannot close the script tag early.
- Site URL: your domain, such as https://example.com. Paths like /recipes/ are joined to it. If you leave it blank, only full http(s) URLs resolve.
- Breadcrumb levels: one level per line, highest first, written as Name | URL.
- Wrap in a script tag: adds the script type=application/ld+json wrapper.
- Leave out the URL on the last level: Google accepts a final crumb without an item URL, because it is the page the visitor is already on.
Breadcrumb Schema Example Inputs and Outputs
| Site URL | Input line(s) | Output |
|---|---|---|
| https://example.com | Home | /, Recipes | /recipes/, Desserts | /recipes/desserts/, Chocolate Cake | /recipes/desserts/chocolate-cake/ | 4 levels, positions 1 to 4, 0 warnings; Home becomes https://example.com/ |
| https://example.com/shop/ | Blog | blog/ | item: https://example.com/shop/blog/ (relative to the shop folder) |
| https://example.com/shop/ | Docs | /docs/ | item: https://example.com/docs/ (a leading slash starts at the domain root) |
| https://example.com | Last line Chocolate Cake with no URL | ListItem 4 has position and name only; 0 warnings |
| https://example.com | Second line Recipes with no URL | 1 warning: Level 2 needs a URL |
Avoiding “Breadcrumbs Structured Data Issues Detected”
Most of these Search Console warnings come from markup that is incomplete or doesn’t match the page. Google treats the breadcrumb schema JSON-LD as a description of the trail visitors can see, so the names and order should match the visible breadcrumb links. Never add a hidden level that exists only in the code.
- Use the canonical URL for each level, with the same trailing slash and https version your sitemap lists.
- Keep one logical path per page. A product that sits in two categories can carry two BreadcrumbList blocks, but most sites are clearer with one.
- Start at position 1, never 0, and do not skip numbers. The generator handles this for you.
- Short names work best, because breadcrumb rich results replace the long URL under your title.
- Re-test after a redesign, since a new theme or SEO plugin may print its own breadcrumb markup and create duplicates.
Valid markup makes a page eligible for breadcrumb rich results, but it does not guarantee them. The search engine decides what to show. For the required properties and a breadcrumb markup example from the source, read Google Search Central’s breadcrumb structured data documentation.
Common questions about breadcrumb schema
What is breadcrumb schema?
It is structured data that describes the breadcrumb trail on a page, written as a BreadcrumbList with one ListItem per level. Google can use it to show a short path such as Home, Recipes, Desserts in place of the long URL under your title.What does breadcrumb schema JSON-LD look like?
It is one object with @context set to https://schema.org, @type set to BreadcrumbList and an itemListElement array. Each entry is a ListItem with a position number, a name and an item URL.Where do I put the breadcrumb markup on my page?
Paste the script block into the head or anywhere in the body of the page it describes, since Google reads JSON-LD in either place. On WordPress, use your theme’s header hooks or a code snippet plugin, and check first that your SEO plugin does not already output breadcrumb schema.Does the last breadcrumb need a URL?
No. Google’s guidelines allow the final ListItem, which is the current page, to have no item URL. Including it does no harm, so many sites keep it for consistency.What does “breadcrumbs structured data issues detected” mean in Search Console?
It means Google found BreadcrumbList markup on some pages with missing or invalid fields, most often a ListItem without an item URL or a bad position number. Fix the markup, check it in the Rich Results Test, then ask Search Console to validate the fix.Why are my breadcrumb rich results not showing?
Valid markup only makes a page eligible. Google may still show the plain URL if the trail looks inconsistent, the page is new or not yet recrawled, or another error blocks the markup, so run the Rich Results Test and allow a few weeks after recrawling.Related Tools
Good schema still needs good copy, and the reading time calculator for blog posts tells you how long each article takes to read. Theme work often means matching brand colours, which the hex to RGB color converter handles, and the binary to decimal converter for developers covers quick number checks. Bookmark this generator alongside them for your next site build.