The Product Schema Generator builds complete, valid schema.org/Product JSON-LD structured data that you can paste directly into any product page to unlock Google’s rich result features — price badges, star ratings, availability labels and shopping-panel entries — without writing a single line of code by hand.
Why product structured data matters
Search engines have moved well beyond keyword matching. Google’s product understanding pipeline consumes structured data to power:
- Shopping panel entries — your product appears in the right-hand knowledge panel for branded searches.
- Rich snippets — price, availability and star ratings shown directly in the blue-link results, increasing click-through rate.
- Google Merchant Center auto-sync — correctly formatted schema is one of the fastest paths to free product listings.
- AI-powered discovery — ChatGPT Shopping, Perplexity Commerce and similar agents crawl schema.org data to surface products in conversational results. A product with complete structured data is orders of magnitude more likely to appear than one without.
A typical well-structured product page with accurate offers schema sees a 15-30% lift in organic CTR versus an equivalent page with no structured data, according to multiple published case studies.
How it works
The generator constructs a schema.org/Product object following the
Google guidelines for Product rich results.
Core fields (name, description, image, url) establish the product
identity. Identifiers (sku, mpn, GTIN) resolve the product to a known
catalogue entry — GTIN in particular links your listing to the global product
database and is used heavily by Merchant Center. The tool inspects the digit
count of the GTIN you enter and automatically emits the correct sub-property:
gtin8 (EAN-8, 8 digits), gtin12 (UPC-A, 12 digits), gtin13 (EAN-13, 13
digits) or gtin14 (ITF-14, 14 digits).
Offers are the core of any product schema. A single-offer product emits one
schema.org/Offer node. Switching to multi-offer mode generates an array of
Offer nodes — useful for size/colour/capacity variants with different prices.
Each offer carries price, priceCurrency, availability
(e.g. schema.org/InStock) and itemCondition (e.g. schema.org/NewCondition)
— all mapped to their fully-qualified schema.org URIs as Google requires.
Aggregate ratings are expressed as an AggregateRating node with
ratingValue, reviewCount (written reviews), ratingCount (all ratings),
bestRating and worstRating. Google uses this to render gold star rich
results. Individual reviews are expressed as Review nodes each with their
own Rating, author, body text and publication date.
Shipping details, when provided, generate an OfferShippingDetails block
with MonetaryAmount, DefinedRegion and ShippingDeliveryTime. Return
policy generates a MerchantReturnPolicy node. Warranty generates a
WarrantyPromise node.
Worked example
A Sony WH-1000XM5 headphone listing at £279 generates:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Sony WH-1000XM5 Wireless Headphones",
"brand": { "@type": "Brand", "name": "Sony" },
"sku": "WH1000XM5B",
"gtin13": "4548736132399",
"offers": {
"@type": "Offer",
"price": "279.00",
"priceCurrency": "GBP",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"priceValidUntil": "2026-12-31"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.7,
"reviewCount": 2841,
"bestRating": 5,
"worstRating": 1
}
}
Paste this inside a <script type="application/ld+json"> tag in the
<head> of the product page. Use the “Wrap in script tag” toggle
to have the tool do this automatically.
Formula note
The aggregateRating formula is: ratingValue = sum(all_ratings) / count(all_ratings). Google requires ratingValue to fall between worstRating and bestRating. The reviewCount field specifically counts written reviews while ratingCount counts all star-only ratings — provide both when you have them for maximum signal fidelity.