Product schema generator

Fill in the product details, the price and stock status, and the average rating if you show one, then copy the Product markup. Prices typed with a comma are written with a dot, as schema.org expects.

Digits with a dot or a comma, no currency sign: 19.99
Three-letter ISO 4217 code: USD, EUR, GBP…
Condition
Optional, YYYY-MM-DD.

Paste the script into the product page. Every value must match what the page shows; ratings must come from real reviews on that page.

Runs in your browser: nothing you enter is sent anywhere.

How to use it

  1. Enter the name, a short description, an image URL, the brand and the SKU.
  2. Enter the product page URL, the price and the currency code.
  3. Choose availability and condition; add the date until which the price is valid if there is one.
  4. Keep the rating only if the page shows real reviews, and copy the script.

How it works

The output is a Product with name, image, description, sku and brand as a Brand. The offers property holds one Offer: url, price, priceCurrency, priceValidUntil, and availability and itemCondition as full schema.org URLs such as https://schema.org/InStock. The rating becomes an AggregateRating with ratingValue and reviewCount on the default 1–5 scale. Empty optional fields are left out, and < is escaped so text cannot break out of the script tag.

Example

The default form gives this offer and rating:

"offers": {
  "@type": "Offer",
  "url": "https://example.com/t-shirt",
  "price": "19.99",
  "priceCurrency": "USD",
  "availability": "https://schema.org/InStock",
  "itemCondition": "https://schema.org/NewCondition"
},
"aggregateRating": {
  "@type": "AggregateRating",
  "ratingValue": 4.6,
  "reviewCount": 87
}

Tips

  • Update the markup with the page: a price in the markup that differs from the visible price is a common reason for warnings.
  • Use the same image as the product page shows, in a large size.
  • Test the page with Google’s Rich Results Test after publishing.

Frequently asked questions

What can Product markup change in search results?

Search engines may show the price, availability and star rating under the result. Google decides whether to show them; correct markup makes the page eligible but guarantees nothing.

Why is the price a string with a dot?

schema.org expects a dot as the decimal separator and no currency sign or thousands separators in price; the currency goes into priceCurrency. Typing 19,99 or 1 299,50 is fine: the generator writes 19.99 and 1299.50.

Can I add a rating without reviews on the page?

It should not be. Google's review guidelines ask that marked-up ratings are visible to users on the same page and are not collected from other websites. Turn the rating off if the page has no reviews.

What do the availability values mean?

They are schema.org ItemAvailability URLs: InStock, OutOfStock, PreOrder (can be ordered before release), BackOrder (can be ordered, ships later), LimitedAvailability and Discontinued.

How do I mark several variants or sellers?

This tool writes one Offer. For a price range across variants, schema.org has AggregateOffer with lowPrice and highPrice; edit the offers part of the code to use it.

More in Developer

All tools in this category: Developer ·Updated November 4, 2026

Privacy choices

Google Analytics shows us which tools are used and whether they work. It may set cookies. Your choice is kept in this browser.