Product schema generator

JSON-LD with price, availability and ratings for product pages.

FreeRuns in your browserNo signupUpdated 2026-10-29

Only include a rating if real reviews are shown on the page. Google treats invented ratings as spam.

Checks

Looks good

Name, image, offer and currency present

Offer

INR 2499.00

InStock

product-schema.html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Handwoven cotton throw, indigo",
  "image": [
    "https://www.example.com/images/indigo-throw.jpg"
  ],
  "description": "A 130 x 180 cm throw woven on a handloom in Tamil Nadu. Pre-washed cotton, colourfast dyes.",
  "sku": "THR-IND-01",
  "brand": {
    "@type": "Brand",
    "name": "Example Home"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://www.example.com/products/indigo-throw",
    "priceCurrency": "INR",
    "price": "2499.00",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": 4.6,
    "reviewCount": 38,
    "bestRating": 5,
    "worstRating": 1
  }
}
</script>

About this tool

How it works and how to read the result.

Need this done for you?

E-commerce development

Online stores on Shopify, WooCommerce or a custom stack.

See the service

What it does

A product schema generator builds the Product and Offer structured data that lets Google show price, stock status and star ratings next to your listing. Enter the product details and the JSON-LD updates as you type, with the availability and condition written as the full schema.org URLs Google expects. Prices are normalised to two decimals, the currency is checked as a three-letter code, and ratings outside 1 to 5 are flagged instead of silently included.

How to use it

  1. Enter the product name, description, page URL and main image.
  2. Add the SKU and brand if you have them.
  3. Type the price as a plain number and the currency as an ISO code such as INR or AED.
  4. Pick availability and condition, and set a price-valid-until date for sale prices.
  5. Tick the rating box only if real reviews appear on the page, then copy the script block.

How to read the result

The Offer stat restates what will be published: "INR 2499.00" with "InStock" underneath. If that is not what the page shows, fix it before copying. The Checks badge is green when the name, image, price and currency are present and sensible. Typing "₹2,499" in the price field turns it amber with "Price must be a number", because the symbol and comma would produce an invalid value.

With the rating enabled, the output includes an AggregateRating with ratingValue 4.6 and reviewCount 38, plus bestRating 5 and worstRating 1 so Google knows the scale. A rating of 4.6 from 38 reviews shows as four and a half stars in results, assuming the page passes Google's other checks.

The availability value is written as https://schema.org/InStock. Keep it in sync with your stock system; a page that says in stock in the schema and sold out in the text can lose its rich result.

Add breadcrumb schema to product pages as well. For stores that need this generated for every product automatically, see our ecommerce development service.

Questions

Frequently asked.

Do I need a rating to get product rich results?

No. Price and availability alone qualify a page for the merchant listing and product snippet features. A rating adds stars to the result, but only if the reviews are real and shown on the page. A product with no reviews should leave the rating block out rather than show a placeholder.

Why is the price a string with two decimals?

Schema.org accepts numbers or strings, but Google's examples use a plain decimal without currency symbols or thousands separators. Writing 2499.00 avoids locale problems with commas and dots. The currency goes in its own priceCurrency field as an ISO code.

Should the schema go on category pages too?

No. Product markup belongs on the single product page where the buyer can add the item to the cart. Google ignores Product schema on list pages for rich results and treats a page with many Product entities as a category, not a product.

Your next move

Like what you see? Tell us about it.

A process that takes too long, a website that undersells you, or an idea ready to take shape. Tell us where you are and we will suggest a useful next step.

India · Working with clients worldwide

We reply within a working day. No spam, ever.