Product Schema Generator
100% private — runs on your device, never uploaded. Works offline once loaded.
Turn product details into Product JSON-LD with price, availability and star ratings that qualify for Google's product rich results. Generated entirely in your browser.
What Product schema unlocks
Product structured data tells search engines the name, price, availability and rating of an item so they can render a product snippet — the compact result with a price, in-stock badge and star rating that stands out in search. Marking up product pages this way is one of the highest-leverage SEO tasks for e-commerce because the enhanced result measurably improves click-through.
This generator produces a schema.org Product object with a nested Offer for commercial details and an optional AggregateRating for review stars. It handles JSON escaping for you, so quotes and special characters in your product copy will not break the markup.
The Offer: price and availability
Most of a product's commercial meaning lives in the Offer node. Google requires a price and priceCurrency to show a price, and reads availability to display an in-stock or out-of-stock badge.
- price — the numeric amount only, e.g. 89.99, with no symbol.
- priceCurrency — an ISO 4217 code such as USD, EUR or GBP.
- availability — a schema.org value like InStock, OutOfStock, PreOrder or BackOrder.
- url — the canonical product URL the offer applies to.
Ratings must be earned, not invented
The AggregateRating node produces the star rating in the snippet, which is why it is tempting to add. Google's policy is strict: the rating must reflect reviews that are actually visible to users on that page. Self-serving ratings with no on-page reviews, or ratings applied to an organization rather than a specific product, are a manual-action risk.
This tool only emits an aggregateRating when you supply both a rating value and a review count, and it warns you if you fill in one but not the other, so you never ship a half-formed rating object.
Validate and keep it in sync
After adding the markup, test the live URL with Google's Rich Results Test to confirm the price, availability and rating parse cleanly. Because prices and stock change often, the biggest ongoing risk is drift — markup that says InStock at $89.99 while the page shows sold out at $79.99. Wherever possible, generate the JSON-LD from the same data that renders the page so the two can never disagree.
Frequently asked questions
Can one product have several prices?
Yes. schema.org supports an AggregateOffer with lowPrice and highPrice for products sold in a range, and multiple Offer objects for variants. This tool emits a single Offer; extend it by hand for multi-variant listings.
What availability values are valid?
Common schema.org values are InStock, OutOfStock, PreOrder, BackOrder, Discontinued and LimitedAvailability. The generator covers the four you will use most and writes them as full https://schema.org/ URLs.
Do I include the currency symbol in the price?
No. The price property takes the bare number, and priceCurrency carries the currency as an ISO code. Putting a symbol in price is a common validation error.
Why does my rating not appear as stars?
Either the aggregateRating is missing a ratingValue or reviewCount, the reviews are not present on the page, or Google has chosen not to render stars for that query. Confirm the object is complete with the Rich Results Test first.
Should ratingValue be on a 5-point scale?
By default Google assumes a 1–5 scale. If you use a different scale you must also provide bestRating and worstRating so the value is interpreted correctly.
Where should the markup live?
Inside the product page itself, in the head or body. Do not put product markup on a category page that lists many products — use it on the individual product URL it describes.
Advertisement