Skip to main content

Schema.org JSON-LD generator

Generate Schema.org markup locally for an organization, person, article, FAQ, breadcrumb trail or website.

  • Clipboard

Embed this widget

Customize the result, check the live preview, then copy the code.

Preview

Embed code type

Code to copy

Responsive and automatically resized by Bethemesh.

Schema type

One URL per line.

One entry per line: Question | Answer

One entry per line: Name | URL

Example: https://example.com/search?q={search_term_string}

Was this tool useful?

How does this tool work?

This generator creates JSON-LD structured data following the Schema.org vocabulary for six common types: organisation, person, article, FAQ, breadcrumb list and website. It turns a few fields into a <script type="application/ld+json"> block ready to paste, with no syntax errors and no empty properties.

Each type has its own properties: name, url, logo and sameAs for an organisation; headline, author, image and dates for an article; mainEntity for an FAQ; itemListElement for a breadcrumb list; a search potentialAction for a website.

Empty fields are removed from the result, so you never get a "" property or an empty array.

For an FAQ, each Question | Answer line becomes a Question with its accepted answer; for a breadcrumb list, each Name | URL line becomes a ListItem whose position follows the line order. A line without the | separator or without a second part is ignored.

The JSON is indented and the </ sequence is escaped, so text containing </script> cannot close the tag early.

How to use this tool

  1. Choose the schema type

    The fields shown adapt to the selected type.

  2. Fill in the fields

    Use absolute URLs and dates in YYYY-MM-DD format.

  3. Generate the JSON-LD

    The generated code appears in a ready-to-use script tag.

  4. Paste and test

    Place the block in the relevant page, then check it with the structured data validator.

Use cases

Describe your business

Declare the organisation’s name, logo and social profiles on the home page.

Show breadcrumbs in Google

Replace the URL with the navigation path in search results.

Mark up an article

Give the author, publication date and main image of a blog post.

Examples

FAQ for a product page

Each line becomes a Question with its accepted answer. The answers must appear word for word on the page.

Input

Schema type: FAQ
Questions and answers:
Is the bottle dishwasher safe? | Yes, the steel body and the cap are dishwasher safe.
How long does water stay cold? | Up to 24 hours.

Result

Generated code:
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Is the bottle dishwasher safe?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes, the steel body and the cap are dishwasher safe."
      }
    },
    {
      "@type": "Question",
      "name": "How long does water stay cold?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Up to 24 hours."
      }
    }
  ]
}
</script>

Three-level breadcrumb list

Positions are numbered in line order, from the home page to the product page.

Input

Schema type: Breadcrumb list
Breadcrumb items:
Home | https://example.com/
Bottles | https://example.com/bottles/
Steel bottle 750 ml | https://example.com/bottles/steel-750

Result

Generated code:
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://example.com/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Bottles",
      "item": "https://example.com/bottles/"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Steel bottle 750 ml",
      "item": "https://example.com/bottles/steel-750"
    }
  ]
}
</script>

Tips and best practices

  • Structured data must match the visible content: a marked-up FAQ must appear on the page with the same questions and answers.
  • Since 2023, Google has limited FAQ rich results to well-known, authoritative government and health websites; the markup still helps describe the page but no longer shows questions in most cases.
  • For an article, fill in at least headline, image and datePublished: these are the properties Google recommends.
  • One Organization block on the home page is enough; there is no need to repeat it on every page.

Sources and references

Frequently asked questions

Where should the JSON-LD code go?

Anywhere in the <head> or <body> of the page it describes. Google reads it in either place, including when it is injected with JavaScript.

Which schema types are available?

Organization, Person, Article, FAQPage, BreadcrumbList and WebSite. For a product, event or recipe, extend the JSON by hand using the Schema.org documentation.

Is a rich result guaranteed?

No. Valid markup makes the page eligible, but Google decides whether to show a rich result based on the query, the page quality and its own policies.

What does the search URL template do?

For the WebSite type, it describes your internal search URL with the {search_term_string} variable. Google removed the sitelinks search box from results in 2024; the property is still valid but no longer has a visible effect.

Is my data sent to a server?

No. The JSON-LD is generated in your browser.

Related tools

Tools similar or complementary to this one.

Similar tools

Create SEO, Open Graph and Twitter/X tags for a web page.

Web & SEOFeaturedUse this tool

Create a clear robots.txt file to guide web crawlers.

Web & SEOFeaturedUse this tool