Generator
Product schema generator
Product structured data tells Google and the answer engines exactly what a page sells, at what price, in what condition and whether it is in stock. This generator writes the JSON-LD for one product from the fields you enter and warns about the mistakes that cost stores their rich results.
What the generator produces
A Product node with the name, brand, SKU, GTIN, description and image you enter, an Offer node with the price, currency, availability, condition and URL, and an AggregateRating node when both a rating and a review count are supplied. The output uses the schema.org vocabulary Google documents for merchant listings and product snippets, and it is plain JSON-LD that goes inside a script tag in the page's head or body.
Rules the markup has to follow
Everything in the markup must be visible on the page it describes. A rating needs real reviews shown on the same page; a price must match the price the shopper sees; availability must reflect stock. GTINs should be the real barcode in eight, twelve, thirteen or fourteen digits, and products without one should leave the field empty rather than invent a value. Mark up one product per product page; category pages carry ItemList markup instead.
How to deploy it at scale
Nobody should paste JSON-LD into thousands of pages by hand. Use the generator to agree the exact shape, then build that shape into the theme so every product page renders it from the catalog: Liquid on Shopify, a template function on WooCommerce, the storefront layer on a headless build. Validate a sample of pages in Google's Rich Results Test after each theme change, and check that no app is injecting a second, conflicting Product block.
Questions about this tool
Does Product schema help a product rank?
It is not a ranking factor by itself. It makes the page eligible for product rich results and merchant listing features, and it gives search engines and AI shopping surfaces unambiguous product data. Consistent, complete markup removes a reason for a page to be skipped.
Should variants have their own Product markup?
When variants share one page, mark up the product with an offer for each variant where the page shows them, or use the ProductGroup pattern Google documents for variants. When each variant has its own page, each page carries its own Product node with that variant's price and availability.
What if my prices change often?
Render the markup from the same data that renders the visible price, so the two can never disagree. Hand-written schema goes stale the first time a price changes, and a mismatch between markup and page is a policy problem in Merchant Center as well as a rich result problem in Search.
By CartKernel ยท Last reviewed
Where this arithmetic gets applied
More tools and answers
Run it on your real numbers.
A free Growth Analysis applies all of this to your store and ranks what to fix first, by revenue at stake.