Product Schema Generator
Generate Product structured data with brand, SKU, price, availability and aggregate rating, with a rich result preview.
Product markup with price and rating - drives price/stars in search results.
Rich result preview
Wireless Headphones
Noise-cancelling over-ear headphones with 30-hour battery.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Wireless Headphones",
"description": "Noise-cancelling over-ear headphones with 30-hour battery.",
"brand": {
"@type": "Brand",
"name": "Brand"
},
"offers": {
"@type": "Offer",
"price": "199.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://example.com/product"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6",
"reviewCount": "128"
}
}
</script>About the product schema generator
Product markup is what puts a price, an availability status and a star rating directly into a search result. Those three signals do more for click-through than almost anything else you can add to a page.
Prices and availability must match what the page actually shows. Google checks, and a mismatch is one of the most common causes of a structured data penalty.
How to use it
- 1Enter the product name, description and image.
- 2Add brand and SKU.
- 3Set the price, currency and availability.
- 4Add the rating and review count only if real reviews exist on the page.
- 5Copy the JSON-LD.
Questions
Can I invent the rating values?
No. Ratings must come from real reviews shown on the page. Fabricated ratings are a manual action risk and Google does check.
Do I need an offer for every variant?
For a range of prices use AggregateOffer with low and high price. For a single item a single Offer is correct.
Which availability value should I use?
Match the page: InStock, OutOfStock or PreOrder. It appears in the result, so an inaccurate value costs you trust and clicks.