SchemaValid
ENDE

Breadcrumb Schema Generator

Create valid BreadcrumbList JSON-LD structured data for your pages — add each navigation level and the positions are numbered automatically, ready for Google's breadcrumb rich results. Instant, in your browser, free.

Level 1
Level 2

The position of each level is numbered automatically from top to bottom — you don't enter it. The URL is optional; you may leave it out on the last (current) page.

JSON-LD code

Add at least one level with a name to generate the JSON-LD code.

Why Breadcrumb schema matters

BreadcrumbList structured data describes the position of a page within your site's hierarchy — for example Home › Tools › Breadcrumb Schema Generator. When it is valid, Google can replace the plain URL in a search result with a readable breadcrumb trail, showing users exactly where the page sits before they click. This makes your listing clearer and more trustworthy, and it can improve click-through. Breadcrumbs also help search engines and AI assistants understand how your content is organized, which supports better crawling and more accurate context in generated answers. It is simple, low-risk markup that almost every content page benefits from.

How positions are numbered

Each item in a breadcrumb trail needs a position — an integer that reflects its place in the path, starting at 1 for the top level (usually the homepage) and increasing by one for each step down. Getting these out of order or skipping numbers is a common mistake that invalidates the markup. This tool removes that risk entirely: you just add the levels in order and it numbers the positions automatically, so they are always sequential and correct. Each level has a name (the visible label) and an optional item, which is the URL of that page. The URL can be omitted on the final, current page, since the user is already there.

How to add the schema to your site

Copy the generated code and paste it into a script tag of type application/ld+json in the head section of the page whose breadcrumb trail it describes. The names and order in the markup should match the breadcrumb navigation visible on the page. A minimal example looks like this:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://www.example.com/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Tools",
      "item": "https://www.example.com/tools/"
    }
  ]
}
</script>

Frequently asked questions

Which fields are required for Breadcrumb schema?
Each list item needs a name and a position. This tool requires at least one level with a name and numbers the positions for you. The item (URL) is recommended for every level except the last, current page.
Why is the URL field called "item"?
In BreadcrumbList JSON-LD the URL of each level is stored in a property named item, not url. This tool uses the label URL in the form for clarity but outputs it as item in the generated code, exactly as Google expects.
Do I need to enter the position manually?
No. The position is calculated automatically from the order of your levels, starting at 1 at the top. Just add, remove and reorder levels — the tool keeps the positions sequential so they are always valid.
Can I leave the URL out on the last item?
Yes. Google allows the item URL to be omitted on the final breadcrumb because it represents the current page. Fill in the name and simply leave the URL field empty for that last level.
How do I validate the markup?
Paste your page URL or the generated code into Google's Rich Results Test or the schema.org validator. They parse the JSON-LD and report whether the BreadcrumbList structure is valid and eligible for breadcrumb rich results.

Related tools