Breadcrumb Schema Generator
Add the crumbs from your home page down to the current page, or paste a URL to create them automatically. You get BreadcrumbList JSON-LD plus matching accessible HTML for the visible breadcrumb, with positions and absolute URLs filled in for you.
Last updated:
Matching HTML breadcrumb
Paste this where the breadcrumb should appear on the page. The last crumb is marked aria-current="page".
How to use the Breadcrumb Schema Generator
- Paste the page URL and click Create from URL, or add crumbs by hand.
- Rename the crumbs to the page or category titles visitors see, for example "Fiction" instead of "fiction".
- Check the order: the first crumb is the top level, the last is the current page.
- Copy the JSON-LD into the page head or body.
- Copy the HTML breadcrumb into the page where the trail should appear, so the visible trail matches the markup.
Anatomy of a BreadcrumbList
A breadcrumb trail such as Home › Books › Fiction › The Long Road Home becomes a list of ListItem objects inside itemListElement:
| position | name | item |
|---|---|---|
| 1 | Home | https://www.example.com/ |
| 2 | Books | https://www.example.com/books/ |
| 3 | Fiction | https://www.example.com/books/fiction/ |
| 4 | The Long Road Home | optional for the last item (the current page) |
JSON-LD, microdata or both?
| Approach | What you add to the page | Good for |
|---|---|---|
| JSON-LD + plain HTML | A script block plus a normal <nav> breadcrumb | Most sites; easy to generate from templates |
| Microdata HTML | One <nav> with itemscope, itemprop attributes | Sites that prefer markup inside the visible HTML |
Pick one structured data format for each trail. The visible breadcrumb uses aria-label="Breadcrumb" on the <nav> and aria-current="page" on the last item, the pattern recommended for accessible breadcrumbs.
Tips for breadcrumbs
- Reflect your site structure, not the visitor’s click history.
- Use short names: category or page titles, not full SEO titles.
- Link every level except the current page in the visible trail.
- Keep URLs canonical, using the same protocol, host and trailing slash style as the rest of your site.
- Generate from templates on larger sites so every page gets a correct trail automatically.
Frequently asked questions
What is BreadcrumbList schema?
BreadcrumbList is a schema.org type that describes the position of a page in a site hierarchy as an ordered list of ListItem entries. Each item has a position, a name and the URL of that level. Google can use it to show the trail instead of the raw URL in search results.
Which breadcrumb properties are required?
Each ListItem needs a position (starting at 1), a name, and an item URL. The URL may be left out for the last item, which represents the current page. The list itself goes in itemListElement.
Should the home page be the first breadcrumb?
It is common and fine to start with Home, but not required. The trail should represent a typical path a user would take to reach the page, starting from the top level of your site.
Do I need JSON-LD and microdata at the same time?
No. Use one format for the structured data. The usual choice is JSON-LD for the markup plus plain HTML for the visible breadcrumb. The microdata option combines both into a single HTML block if you prefer not to use JSON-LD.
Can a page have more than one breadcrumb trail?
Yes. If a page can be reached through several paths, for example a product in two categories, you can include more than one BreadcrumbList. Each trail should still reflect a real path on your site.
Should breadcrumb URLs be absolute?
Yes. Use full URLs such as https://www.example.com/books/. If you type relative paths in this tool, enter your site address and the links are converted to absolute URLs.
Does breadcrumb markup replace good site navigation?
No. The markup describes navigation that already exists. Show a visible breadcrumb on the page that matches the structured data; it helps visitors understand where they are and move up a level.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.