Home › Developer Tools › Schema Markup Generator (JSON-LD)

Schema Markup Generator (JSON-LD)

Fill in a simple form and get ready-to-paste JSON-LD structured data for FAQs, how-tos, products, organizations, articles, local businesses and breadcrumbs. Live hints flag missing required and recommended properties before you test the page with Google.

Schema type
JSON-LD code

      

After publishing, test the page with the Google Rich Results Test or the Schema Markup Validator.

Advertisement
Advertisement

How to use the Schema Markup Generator (JSON-LD)

  1. Pick a schema type that matches the main content of your page, for example FAQPage for a list of questions or Product for a product page.
  2. Fill in the form. Replace the example values and use Add buttons for more questions, steps, images or profiles. Empty fields are left out of the code.
  3. Read the hints under the preview. Red items are required, amber items are recommended.
  4. Copy or download the code and paste the script tag into the HTML of the page, in the head or body.
  5. Test the page with Google's Rich Results Test after publishing to confirm Google can read it.

Which schema type should I use?

TypeUse it onKey propertiesGoogle rich result
FAQPageA page with a list of questions and your answersmainEntity → Question (name) → acceptedAnswer (text)Only for well-known government and health sites
HowToStep-by-step instructionsname, step (text), totalTime, supply, toolNo longer shown (since 2023)
ProductA page about one product you sell or reviewname + offers, aggregateRating or reviewPrice, availability and review stars
OrganizationYour home page or About pagename, url, logo, sameAs, contactPointLogo and details in knowledge panels
Article / BlogPosting / NewsArticleNews stories, blog posts, guidesheadline, image, datePublished, dateModified, authorBetter title, image and date display
LocalBusiness (and subtypes)The page of a physical shop, office or restaurantname, address, telephone, geo, openingHoursSpecificationBusiness details in Search and Maps
BreadcrumbListAny page that sits inside a hierarchyitemListElement → ListItem (position, name, item)Breadcrumb trail instead of the raw URL

Example: FAQPage JSON-LD

This is the structure the generator produces for a single question. Each extra question is another object in the mainEntity array:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "Can I return an item?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "Yes. Unused items can be returned within 30 days."
    }
  }]
}
</script>

Formats that trip people up

  • Dates use ISO 8601: 2026-10-05 or, with a time and UTC offset, 2026-10-05T14:30:00+02:00. Without an offset Google assumes the time zone of the site.
  • Durations such as totalTime also use ISO 8601: PT30M is 30 minutes and PT1H15M is one hour fifteen minutes.
  • Prices are plain numbers with a dot for decimals (1299.00, not $1,299); the currency goes in priceCurrency as a three-letter ISO 4217 code such as USD or EUR.
  • Availability and condition are schema.org enumeration URLs, for example https://schema.org/InStock and https://schema.org/NewCondition.
  • URLs must be absolute (starting with https://). Relative paths like /images/logo.png are not reliably resolved.
  • Country is best given as a two-letter ISO 3166-1 code (US, GB, DE), and phone numbers in international format with the country code.

Rules that keep structured data eligible

  • Mark up only content that visitors can see on the same page. Hidden or invented content can lead to a manual action.
  • Review stars must come from genuine reviews. Google does not show stars for reviews a business writes about itself (LocalBusiness and Organization self-serving reviews).
  • Keep the markup in sync with the page: update prices, availability and dateModified when the page changes.
  • Prefer the most specific type that fits, such as Restaurant instead of LocalBusiness or BlogPosting instead of Article.

Frequently asked questions

What is schema markup?

Schema markup is structured data that describes the content of a page using the shared vocabulary from schema.org. Search engines use it to understand the page and, for some types, to show rich results such as product prices, ratings, breadcrumbs or article details.

Why JSON-LD instead of Microdata?

Google recommends JSON-LD because it sits in one script block that is separate from your visible HTML, so it is easier to add, update and maintain. Microdata and RDFa have to be woven into the HTML elements themselves.

Where do I put the JSON-LD code?

Paste the whole script tag into the HTML of the page it describes, either in the head or anywhere in the body. In WordPress you can use a header-and-footer plugin or a custom HTML block. Each page should only describe its own content.

Does schema markup guarantee rich results?

No. Valid structured data makes a page eligible, but Google decides whether to show a rich result. The markup must also match content that is visible on the page, and the page must follow Google's content policies.

Does Google still show FAQ and HowTo rich results?

Since 2023 Google shows FAQ rich results only for well-known, authoritative government and health websites, and it no longer shows HowTo rich results. The markup is still valid schema.org and can be used by other search engines and AI tools, but most sites should not expect these results in Google.

Can I use more than one schema type on a page?

Yes. A product page can have Product and BreadcrumbList, and an article can have Article and BreadcrumbList. Add one script tag per type, or combine them in an array. Generate each type here and paste them one after another.

How do I test my structured data?

Use Google's Rich Results Test to see which rich results the page is eligible for, and the Schema Markup Validator at validator.schema.org to check the markup against the full schema.org vocabulary. After publishing, the Enhancements reports in Google Search Console show errors across your site.

Related tools