Create structured data for your pages without writing code. Choose a type (article, FAQ, product, local business, event, recipe, video, breadcrumbs and more), fill in the form, and copy the JSON-LD script. Google's required and recommended properties are checked as you type, and several items can be combined for one page.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article"
}
</script>Paste the script anywhere in the page's HTML (the <head> is usual). Then test the live page in Google's Rich Results Test or check it with our schema validator.
Structured data is a small block of code that tells search engines exactly what a page is about: this is a recipe that takes 45 minutes, this is a bakery open from 7:30, this product costs $34 and is in stock. Google uses it for rich results, such as star ratings, prices, event dates and breadcrumbs in the search listing, and AI assistants use it to understand and quote pages. This generator writes the code in JSON-LD, the format Google recommends, from a simple form. Pick one of thirteen types, fill in what you know, and copy the script; Google's required and recommended properties are checked as you type.
Tip: Only mark up what visitors can actually see on the page. Google treats hidden or invented content in structured data (reviews that aren't shown, a price that isn't on the page) as spam and may remove your rich results.
There are three ways to add structured data: JSON-LD, Microdata and RDFa. JSON-LD is a separate script block, so it doesn't change your visible HTML, can be added by a plugin or a tag manager, and is easy to read and update. Google recommends it, and every major search engine reads it. The script can go in the <head> or the <body>; where it sits doesn't matter.
Each block starts with "@context": "https://schema.org" and an "@type". When a page has several items, one script with an "@graph" list (or several separate scripts) both work. The generator builds the @graph for you when you add more than one item.
In plain HTML, paste the script into the page. In WordPress, use a plugin that accepts custom JSON-LD or a block that allows HTML; SEO plugins add Article, Organization and Breadcrumb markup themselves, so check the page for duplicates first. In Shopify, many themes already output Product markup; add only what is missing. With Google Tag Manager, a Custom HTML tag works, but Google may take longer to see markup that is added by script.
After publishing, test the live page in Google's Rich Results Test or our schema validator, then watch the Enhancements reports in Google Search Console, which list errors across the whole site. Rich results aren't guaranteed even with perfect markup: Google decides when to show them.
Bakery beats LocalBusiness and BlogPosting beats Article; Google and other engines understand both.
Names, prices, dates and hours in the markup must match what the page shows.
Organization logos should be at least 112×112 px on a plain background.
For articles and recipes, give 16:9, 4:3 and 1:1 versions, one address per line.
Change the price, availability or event status in the markup when they change on the page.
Link your official social, Wikipedia and Google Business profiles so search engines connect them to you.
Not directly. It makes pages eligible for rich results, which stand out and usually get more clicks, and it helps search engines and AI tools understand the page correctly.
Anywhere in the page's HTML; the <head> is the usual place. It must be on the page it describes, not only on the home page.
Google shows them only when it trusts the site and the markup matches the visible content, and some types are limited (FAQ, How-to). Check for errors in the Rich Results Test and Search Console, then give it a few weeks after Google recrawls.
Yes. An article page often has Article and BreadcrumbList, a product page Product and BreadcrumbList. Use Add another item to this page to combine them.
JSON-LD. It is Google's recommended format and easier to maintain; Microdata is still read but mixes into your HTML.
No. The checks and previews run in your browser, on your device. Nothing you type or paste is uploaded, stored or logged.
Updated