Skip to content

Breadcrumb Schema Generator

Add each level of a page's breadcrumb trail — Home, a category, the page itself — and get a ready-to-paste BreadcrumbList JSON-LD script tag, with the position numbers assigned automatically and the one rule most generators get wrong: the current page is the one item that should not have a URL at all.

  • Automatic 1-based position numbering
  • Correctly treats the last item as URL-optional
  • Reorder or remove levels freely
  • Ready-to-paste <script> tag
  • Runs fully client-side

Generator

Built in your browser, never sent anywhere

    Add at least two levels to generate a breadcrumb trail.

    How to generate Breadcrumb schema

    1. 01

      List each level

      Start from the site root and work down to the current page, in order.

    2. 02

      Leave the last URL empty

      The final item represents the page itself and does not need a URL.

    3. 03

      Copy the script tag

      Paste it into the exact page this breadcrumb trail describes.

    Why the last item should have no URL#

    Google's own BreadcrumbList documentation is specific on this point: the final item in the trail — the current page — should omit the item (URL) property, since a page linking to itself provides no real navigation value and Google explicitly does not require it. Most hand-written breadcrumb schema fills in every URL out of habit, including the current page's own address, which is not wrong exactly, just unnecessary. This tool leaves the last item's URL field optional specifically to make the correct, minimal version the easy default.

    Why position numbers are assigned automatically, not typed by hand#

    Each item in a BreadcrumbList needs a position field — a 1-based index matching its place in the trail. Typing these by hand is a common source of off-by-one errors, especially after reordering or deleting a level partway through building the trail. This tool recalculates position automatically from each item's actual place in the list, so reordering never leaves a stale number behind.

    This describes navigation, not the page content itself#

    BreadcrumbList is one of the few schema types that describes how a page fits into a site's structure rather than describing the page's own content — it is metadata about navigation, meant to match the visible breadcrumb trail a user would actually see on the page (Home > Blog > Article Title). It is usually paired with other schema (an Article or Product type) describing the content itself, not used as a replacement for it.

    Frequently asked questions

    Does the last breadcrumb item need a URL?

    No — Google's guidelines say the final item, representing the current page, should omit its URL since a page linking to itself provides no navigation value. This tool leaves that field optional for exactly that item.

    Do I need to number the position values myself?

    No — position is calculated automatically from each item's place in the list, so reordering or removing a level never leaves the numbering out of sync.

    Should the breadcrumb markup match what visitors actually see on the page?

    Yes — the trail described in this schema should mirror the visible breadcrumb navigation on the page, not describe a different or idealized structure the page does not actually have.

    Is my content sent anywhere?

    No. The JSON-LD is assembled entirely in your browser — nothing you enter is transmitted or stored.