Breadcrumb Schema Generator
Generate BreadcrumbList JSON-LD for navigation trails.
Recommended tools
Affiliate links — we may earn a commission if you sign up.
About the Breadcrumb Schema Generator
The Breadcrumb Schema Generator produces BreadcrumbList JSON-LD for the navigation trails that appear in search results. It opens with a sample three-level trail — Home, Blog, and Sustainable Coffee Guide — which you can edit directly; each crumb has a Name field and a URL field, and only items whose URL is a valid http(s) address make it into the schema. Buttons let you add crumbs up to a limit of thirty, remove them down to one, and reorder the trail with up and down arrows, while a live visual preview renders the trail exactly as a visitor would see it, with chevron separators and the current page in bold. Position numbers in the output are assigned automatically based on the final order, so reordering the list renumbers the schema for you. Invalid URLs are flagged inline with an "invalid" hint and counted in the stats panel, and the finished JSON downloads as breadcrumbs.json. Replacing a search engine's guessed URL path with a clean breadcrumb trail gives your listing a compact, structured appearance that often wins clicks, and keeping the visible breadcrumb on the page identical to the schema is a key part of Google's guidelines.
Examples
The three sample crumbs: Home / https://example.com/ · Blog / https://example.com/blog · Sustainable Coffee Guide / https://example.com/blog/sustainable-coffee
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://example.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Blog",
"item": "https://example.com/blog"
},
{
"@type": "ListItem",
"position": 3,
"name": "Sustainable Coffee Guide",
"item": "https://example.com/blog/sustainable-coffee"
}
]
}Change the Blog URL to "/blog" (a relative path) and leave everything else unchanged
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://example.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Sustainable Coffee Guide",
"item": "https://example.com/blog/sustainable-coffee"
}
]
}Use the up arrow to move "Sustainable Coffee Guide" above "Blog" in the list
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://example.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Sustainable Coffee Guide",
"item": "https://example.com/blog/sustainable-coffee"
},
{
"@type": "ListItem",
"position": 3,
"name": "Blog",
"item": "https://example.com/blog"
}
]How to use
- 1
Edit the three sample crumbs, filling the Name and URL fields for each level of your trail.
- 2
Use the up and down arrows to reorder the trail — positions in the schema renumber automatically.
- 3
Add more levels with Add breadcrumb (up to 30) or remove items with the trash button.
- 4
Watch for the "invalid" hint on any URL that is not http(s) — invalid items are excluded from the JSON-LD.
- 5
Copy or download the BreadcrumbList JSON-LD from the result box and make sure the visible breadcrumb on your page matches it.
Common use cases
- E-commerce category trails — emit schema for Home > Category > Subcategory > Product paths at scale.
- Blog topic clusters — add breadcrumbs that reinforce hub pages in the URL path structure.
- Support docs — structure troubleshooting guides under Home > Help Center > Topic for SERP trails.
- Multi-level landing pages — generate deep trails for campaign pages that live several clicks from the homepage.
- Schema refreshes — renumber and re-emit trails after information architecture changes without hand-editing JSON.
- Client SEO audits — generate the correct BreadcrumbList as the deliverable for sites that show URL paths in SERPs.
Technical SEO best practices
- Use absolute http(s) URLs in every crumb — the generator rejects relative paths because Google requires full URLs in the item property.
- Keep the schema order identical to the visible breadcrumb on the page, including the final current-page item.
- Give each position a distinct, descriptive name — repeating the same label across levels confuses both users and crawlers.
- Mark up only the trail users can see; breadcrumb text that exists only in the schema is against Google's guidelines.
- Ensure every crumb URL returns 200; linking intermediate levels to 404s breaks the chain's value.
- Keep trails shallow at three to five levels; deep nesting adds little crawl benefit and clutters the SERP path.
Tips
- Start from the sample and replace crumb by crumb — the three-level structure covers most page types.
- Read the visual preview out loud as a user would: Home > Blog > Post should make sense as a path.
- Keep the trail in sync with your navigation menu labels; mismatched names confuse users.
- Re-emit the schema after URL structure changes, since the old JSON still references dead paths.
Frequently asked questions
Explore more seo tools
Browse the full collection of seo tools on the hub, or jump back to all categories.