Breadcrumb Schema Generator — Create BreadcrumbList JSON-LD
Generate valid BreadcrumbList JSON-LD for any page hierarchy. Add your breadcrumb levels, preview the trail, copy the code, and paste it into your page head.
Breadcrumb Schema Generator
Add each breadcrumb level from left to right, starting with your homepage. Enter the page name and URL for each level. The last item is the current page — its URL is optional. The JSON-LD and SERP preview update live as you type.
Generated JSON-LD
Paste inside <head>Tips
- First item is always the homepage with its full URL
- Last item is the current page — URL is optional
- Each intermediate level needs both a name and URL
- Use absolute URLs including
https:// - Position numbers are assigned automatically in order
What Is a Breadcrumb Schema Generator?
A breadcrumb schema generator is a free tool that converts your page hierarchy into valid BreadcrumbList JSON-LD structured data. The generated code tells Google the navigation path to the current page, enabling the breadcrumb trail to appear directly in search results instead of the raw URL.
You add each breadcrumb level, name it, and provide the URL. The tool builds the correctly structured BreadcrumbList with auto-numbered positions, previews the SERP trail in real time, and outputs a complete <script type="application/ld+json"> block ready to paste into your page head.
Valid BreadcrumbList Output
Generates correctly structured BreadcrumbList JSON-LD with itemListElement containing ListItem objects, each with auto-assigned position, name, and item URL fields following the Schema.org specification.
Live SERP Preview
See how your breadcrumb trail will appear in Google search results as you type each level name. The preview mimics the Google SERP breadcrumb display so you can confirm the path looks correct before copying the code.
Unlimited Breadcrumb Levels
Add as many hierarchy levels as your page structure requires. Deep ecommerce pages may have five or more levels. Each level is automatically numbered in sequence and added to the itemListElement array in the correct order.
One-Click Copy
Copy the complete <script type="application/ld+json"> block to your clipboard in one click. Paste it directly into your HTML, CMS page editor, or theme file. The schema is immediately ready to validate with the Google Rich Results Test.
Why Breadcrumb Schema Matters for SEO
Breadcrumb schema is one of the simplest structured data types to implement and one of the most consistently displayed by Google. Its benefits span search result appearance, site architecture signals, and user experience.
Breadcrumb Trail in SERPs
Google replaces the raw URL in search results with the breadcrumb trail when valid BreadcrumbList schema is present. A path like "Home › Electronics › Headphones" is more readable than a URL slug, communicates page context at a glance, and typically improves click-through rates compared to URL-only listings.
Site Architecture Signal
Breadcrumb schema explicitly communicates your site's hierarchy to Google. It tells crawlers where a page sits within the category structure, which pages are parent categories, and how deep the page is from the homepage. This reinforces the topic relevance of each page and helps Google understand content organisation.
Critical for Ecommerce
Product pages on ecommerce sites benefit most from breadcrumb schema because their URLs are often complex or category-encoded. Showing "Home › Women › Shoes › Trainers" in search results is far more informative to shoppers than a URL, and it positions the product within a recognisable category context that builds confidence before the click.
Internal Link Context
Breadcrumb schema reinforces the internal link signals that already exist in your page's visible breadcrumb navigation. When both the HTML breadcrumb links and the structured data agree on the hierarchy, Google receives consistent architecture signals from multiple sources, strengthening the topical context of each page.
AI and Search Understanding
AI-powered search features use structured data to understand relationships between pages. Breadcrumb schema tells AI systems the navigational context of a page — whether it is a product within a category, a post within a blog section, or a service within a service area — improving how content is categorised and cited.
Consistent SERP Display
Breadcrumb schema is among the most reliably displayed structured data types by Google. Unlike FAQ or review rich results, breadcrumb display is not subject to significant eligibility restrictions. Most pages with valid BreadcrumbList schema see the breadcrumb trail displayed instead of the URL in search results.
How the Breadcrumb Schema Generator Works
Three steps from your page hierarchy to deployed structured data. Add your levels, preview the trail, copy the code, and validate.
Add Your Breadcrumb Levels
Start with your homepage name and URL. Add each intermediate level in order: category, subcategory, and finally the current page. Enter the page name and URL for each level. The last item is the current page — its URL is optional. The SERP preview and JSON-LD output update live with every keystroke.
Preview and Copy the Code
Check the SERP preview to confirm the breadcrumb trail reads correctly. When the hierarchy looks right, click Copy to copy the complete <script type="application/ld+json"> block. Position numbers are assigned automatically — no manual numbering needed.
Paste and Validate
Paste the code inside the <head> section of the specific page the breadcrumb describes. Then test the live URL with the Google Rich Results Test to confirm the BreadcrumbList schema is valid and all levels are detected correctly before publishing.
What the Breadcrumb Schema Generator Produces
The generated JSON-LD follows the Schema.org BreadcrumbList specification. Two nested object types are used: BreadcrumbList at the root level and ListItem for each individual breadcrumb level.
| Field | Status | Value | Purpose |
|---|---|---|---|
| BreadcrumbList (root object) | |||
| @context | Required | "https://schema.org" |
Declares the Schema.org vocabulary — required in every JSON-LD block |
| @type | Required | "BreadcrumbList" |
Identifies this structured data as a BreadcrumbList — the container for all breadcrumb levels |
| itemListElement | Required | Array of ListItem objects | Contains the ordered list of all breadcrumb levels from homepage to current page |
| ListItem (one per breadcrumb level, nested inside itemListElement) | |||
| @type | Required | "ListItem" |
Identifies each entry in the itemListElement array as a ListItem |
| position | Required | Integer starting from 1 | The numerical position of this level in the breadcrumb path. Must start at 1 and increment by 1 without gaps |
| name | Required | Page name text | The display name for this breadcrumb level — must match the label visible in the page's breadcrumb navigation |
| item | Recommended | Absolute URL | The URL for this breadcrumb level. Required for all levels except the last (current page). Must be an absolute URL including https:// |
BreadcrumbList Fields and Page Type Examples
Breadcrumb schema follows the same structure for every page type — only the levels and names change. Here is how the JSON-LD nests, followed by real examples of breadcrumb paths for the three most common page types.
The item URL field is required for all levels except the last. Omitting the URL on the final breadcrumb (the current page) is valid and recommended by Google — including it is also acceptable. All other levels must have a URL pointing to a crawlable, indexable page.
Ecommerce Product Page
Four levels: homepage, department, subcategory, product. Each level above the product needs a URL pointing to the category page. The product page (last level) can omit the URL.
Blog Post
Three or four levels: homepage, blog root, optional category, post title. The blog section URL and category archive URL must be crawlable pages in their own right.
Service Page
Three levels is typical for service businesses: homepage, services overview, individual service. The services overview page must be a real, accessible URL — not a redirect or anchor link.
Common Breadcrumb Schema Mistakes
These errors cause BreadcrumbList schema to fail validation or prevent the breadcrumb trail from appearing in search results.
Position Numbers Out of Order or Skipped
The position field must start at 1 and increase by exactly 1 for each level with no gaps. Positions like 1, 2, 4 — skipping 3 — or starting at 0 cause validation errors. Google expects a clean, gapless sequence. The tool assigns positions automatically in the order you add levels, so this error only occurs when schemas are written or edited by hand.
Missing URL on Intermediate Levels
Every breadcrumb level except the last (current page) must have a valid item URL. Omitting the URL from a middle-level item — a category or parent page — makes that level invalid. Google requires each intermediate breadcrumb to link to a real, crawlable page. The URL must be absolute, starting with https://, not a relative path.
Only One Breadcrumb Item
A BreadcrumbList with a single item — for example, just the homepage — has no trail to display and serves no SEO purpose. Google requires at least two items in the itemListElement array for the breadcrumb to be considered valid structured data. Every page that uses breadcrumb schema should represent a real navigational hierarchy of at least two levels.
Schema Does Not Match Visible Breadcrumb
If the breadcrumb names or hierarchy in the JSON-LD do not match the visible breadcrumb navigation HTML on the page, Google may ignore the schema or use the HTML breadcrumb instead. Both the structured data and the visible breadcrumb navigation must show the same hierarchy. Mismatches occur most often when schema is generated separately from the page template and not updated when the navigation changes.
Using Relative Instead of Absolute URLs
The item field in each ListItem must use a full absolute URL including the protocol and domain — for example https://example.com/category. Relative paths like /category or protocol-relative URLs like //example.com/category are not valid for structured data fields. Schema validators report these as errors and Google may discard the affected breadcrumb levels.
Adding Breadcrumb Schema to Every Page Identically
Breadcrumb schema must be unique to each page's actual position in the hierarchy. A product page and its parent category page need different schemas with different levels and positions. Adding the same breadcrumb schema block to every page on the site — for example by hardcoding it in a global template without dynamic level generation — produces incorrect hierarchy data across most pages and can trigger structured data errors in Search Console.
How to Add Breadcrumb Schema to Your Website
After generating and copying the JSON-LD code, use the method that matches your platform. For best results, generate the schema dynamically so each page's breadcrumb path is unique to its position in the site hierarchy.
Plain HTML
- Open the HTML file for the specific page in your editor
- Locate the closing
</head>tag - Paste the JSON-LD
<script>block immediately before</head> - For multi-page sites, create a unique schema for each page reflecting its actual breadcrumb path
- Test the live URL in the Google Rich Results Test to confirm the BreadcrumbList is detected
WordPress and WooCommerce
- Most SEO plugins (Yoast SEO, Rank Math, AIOSEO) generate breadcrumb schema automatically when breadcrumbs are enabled — check the plugin settings to confirm this is active
- In Yoast: go to SEO, Search Appearance, Breadcrumbs tab, and enable breadcrumbs
- In Rank Math: go to General Settings, Breadcrumbs, and enable structured data output
- For WooCommerce, the same SEO plugins generate product breadcrumb schema using the product's category hierarchy automatically
- For manual JSON-LD, add a Custom HTML block to the page or use Insert Headers and Footers scoped to specific post types
Shopify
- Many Shopify themes include breadcrumb schema automatically — check your theme documentation or view the page source and search for "BreadcrumbList"
- If schema is missing or incomplete, go to Online Store, Themes, Edit Code
- Open the relevant template file (for example
product.liquidorcollection.liquid) - Paste the JSON-LD block before the closing
</head>tag, or use Liquid variables to generate the breadcrumb path dynamically from the product's collection hierarchy - Test a live product or collection URL in the Google Rich Results Test to confirm breadcrumb detection
Laravel / Custom PHP
- Open the Blade template for the page type (for example
product.blade.phporcategory.blade.php) - Use
@push('head')to inject the JSON-LD block into the layout's<head>section - In your main layout, place
@stack('head')before the closing</head>tag - Build the breadcrumb array dynamically in the controller from the page's category ancestry and pass it to the view, then output using
json_encode() - Verify the rendered HTML source shows unique breadcrumb data per page and validate with the Google Rich Results Test
After adding breadcrumb schema, use the Link Checker to confirm all URLs referenced in the schema are live and crawlable. Broken breadcrumb URLs produce validation warnings and reduce the reliability of the hierarchy signal. For broader structured data health, the Sitemap Checker can confirm all pages referenced in your breadcrumb hierarchy are included in your sitemap and accessible to Googlebot.
Related Schema and SEO Tools
Use these tools alongside the Breadcrumb Schema Generator to build complete structured data coverage and technically sound page architecture across your site.
Generate Breadcrumb Schema Free, Right Now
Add your breadcrumb levels, preview the trail, copy the valid JSON-LD code, and paste it into your page head. Validate before publishing.
Breadcrumb Schema Generator: Frequently Asked Questions
itemListElement array of ListItem objects, each with a position number, a name for the breadcrumb label, and an item URL for the page it links to. Google uses BreadcrumbList schema to display the breadcrumb trail in search results instead of the raw URL, making listings more readable and informative to users.
<head> section of the specific page the breadcrumb describes. Each page needs a unique schema reflecting its own position in the hierarchy — do not use the same schema block across multiple pages with different positions. In WordPress, most SEO plugins generate breadcrumb schema automatically when breadcrumbs are enabled. In Shopify, add it to the product or collection liquid template. In HTML, paste before the closing head tag. In Laravel, use a push block in the page Blade template. Validate the live URL after adding to confirm the schema is correctly detected.