Get a Free Consultation

Product Schema Generator

Create Product JSON-LD with price, sale price, stock, ratings, shipping and returns. Two live badges show whether the markup qualifies for Google’s product snippets and merchant listings. Free, no sign-up, and nothing leaves your browser.

Updated Sale price, shipping and returns GTIN check-digit validation

Your product

Jump to your JSON-LD code
1Product
2Price and stock

Shown as a strikethrough price. Leave blank if the product is not discounted.

3Rating only if shown on the page
Individual reviews

Add the reviews shown on the page. Each needs the reviewer’s name and a rating.

Shipping and returns, for merchant listings

Shipping

Returns

If one policy covers your whole store, you can set it once in your Organization schema instead.

More details: identifiers, description and attributes

Identifiers

Description and attributes

What is Product schema?

Product schema is structured data, based on the schema.org Product type, that describes an item for sale: its name, images, brand, price, availability and ratings. You add it as JSON-LD to the product’s page.

Google uses Product markup for two kinds of results. Product snippets add stars, price and stock to a regular search result. Merchant listings can show your product in the Shopping tab, Images and product panels, with delivery and returns details.

The markup must match what shoppers see on the page. Google checks prices and availability against the page, and mismatches can cost you the rich result.

Product example

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "AuraCam Camphor Pods, 60 pack",
  "image": ["https://www.example.com/pods.jpg"],
  "brand": { "@type": "Brand", "name": "AuraCam" },
  "gtin13": "4006381333931",
  "offers": {
    "@type": "Offer",
    "price": 499,
    "priceCurrency": "INR",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": 4.5,
    "ratingCount": 128
  }
}

Product snippets or merchant listings: what is the difference?

Both come from the same Product markup, but they suit different pages and need different fields. The two badges in the generator track each one.

Product snippets

For any page about a product

Stars, price and stock added to a normal search result. Works for review pages and comparison pages as well as stores.

  • Product name
  • One of: an offer, a rating or a review
  • Recommended: image, brand, description

Merchant listings

For pages where people can buy

Richer shopping results in the Shopping tab, Images and product panels, including delivery and returns.

  • Product name and image
  • An offer with price and currency
  • Recommended: availability, GTIN, shipping, returns

Which Product properties does Google require?

Requirements differ for the two result types. This table follows Google’s Product and merchant listing documentation.

Based on Google’s Product structured data documentation. Last checked October 2026.
PropertyProduct snippetsMerchant listings
nameRequiredRequired
imageRecommendedRequired
offers.price, priceCurrencyOne of offer, rating or reviewRequired
aggregateRating, reviewOne of offer, rating or reviewRecommended
availability, itemConditionRecommendedRecommended
gtin, brand, sku, mpnRecommendedRecommended
shippingDetails, hasMerchantReturnPolicyNot usedRecommended

How do you mark up a sale price, shipping and returns?

The current price goes in offers.price. For a discount, add the original price as a UnitPriceSpecification with the type StrikethroughPrice, so Google can show the saving.

Delivery goes in shippingDetails: the cost, the country and how many days handling and transit take. Returns go in hasMerchantReturnPolicy: the window in days and who pays for return shipping. If one policy applies to your whole store, you can set it once in your Organization schema.

Offer with a sale, shipping and returns

"offers": {
  "@type": "Offer",
  "price": 499,
  "priceCurrency": "INR",
  "priceSpecification": {
    "@type": "UnitPriceSpecification",
    "priceType": "https://schema.org/StrikethroughPrice",
    "price": 699,
    "priceCurrency": "INR"
  },
  "shippingDetails": {
    "@type": "OfferShippingDetails",
    "shippingRate": { "@type": "MonetaryAmount",
      "value": 0, "currency": "INR" },
    "shippingDestination": { "@type": "DefinedRegion",
      "addressCountry": "IN" },
    "deliveryTime": { "@type": "ShippingDeliveryTime",
      "handlingTime": { "@type": "QuantitativeValue",
        "minValue": 0, "maxValue": 1, "unitCode": "DAY" },
      "transitTime": { "@type": "QuantitativeValue",
        "minValue": 1, "maxValue": 5, "unitCode": "DAY" } }
  },
  "hasMerchantReturnPolicy": {
    "@type": "MerchantReturnPolicy",
    "applicableCountry": "IN",
    "returnPolicyCategory":
      "https://schema.org/MerchantReturnFiniteReturnWindow",
    "merchantReturnDays": 30,
    "returnFees": "https://schema.org/FreeReturn"
  }
}

What are GTIN, SKU and MPN, and do you need them?

None is strictly required, but a GTIN in particular helps Google match your product to the same item sold elsewhere, which matters for merchant listings.

GTIN

The barcode number

A global number such as an EAN or UPC, with 8, 12, 13 or 14 digits. The generator checks the check digit and outputs the matching gtin8, gtin12, gtin13 or gtin14 property.

SKU

Your own code

The stock-keeping code you use in your store. It separates variants such as sizes and colours inside your catalogue.

MPN

The maker’s part number

The manufacturer’s own number. Add it when you resell another brand’s product, or when there is no GTIN.

For products with variants, such as sizes or colours, give each variant page its own Product markup with its own price and GTIN. Stores that show all variants on one page can use a ProductGroup with hasVariant, which Google supports for merchant listings.

How do you add Product schema to a product page?

The generator above writes the code. These four steps take it live.

  1. Name and image

    Enter the product name, brand and at least one image.

  2. Price and stock

    Add the price, currency and availability shown on the page.

  3. Check both badges

    Add a rating, shipping and returns until both badges turn green.

  4. Paste and test

    Add the code to the product page, then run the Rich Results Test.

Shopify, WooCommerce and most store platforms already output Product markup on product pages. Check your page source first, and extend the existing markup or turn it off rather than adding a second Product. For a large catalogue, add the markup to your product template so prices and stock update automatically.

Product schema questions, answered

Short answers on requirements, prices, ratings and variants.

What is Product schema used for?

Product schema describes an item for sale, including its name, images, brand, price, availability and ratings. Google uses it for product snippets with stars and price, and for merchant listings in shopping results.

What does Google require for product rich results?

Product snippets need a name plus an offer, a rating or a review. Merchant listings need a name, an image and an offer with price and currency. Availability, GTIN, shipping and returns are recommended.

What is the difference between product snippets and merchant listings?

Product snippets add stars, price and stock to a normal result and suit any page about a product. Merchant listings are richer shopping results for pages where people can buy, and can show delivery and returns.

How do I show a sale price?

Put the current price in offers.price and add the original price in a UnitPriceSpecification with priceType StrikethroughPrice. Enter the original price in this generator and it writes that for you.

How do I add shipping and returns?

Use shippingDetails for the delivery cost, country and delivery time, and hasMerchantReturnPolicy for the return window and fees. A single store-wide return policy can go in your Organization schema instead.

Do I need a GTIN?

It is not required, but Google recommends it for merchant listings because it identifies the exact product. Use the barcode number from the packaging, and the generator will check its check digit.

How do I mark up product variants?

Give each variant page its own Product markup with its own price and identifiers. If all variants share one page, use a ProductGroup with hasVariant and variesBy.

Do product ratings have to be on the page?

Yes. Ratings and reviews in the markup must come from real customers and be visible on the page. Do not mark up scores from other websites.

Does Product schema help with AI Overviews and AI Mode?

Google says AI features need no special markup. Accurate product markup still gives search engines clear facts about price, stock and ratings, which supports correct answers. It does not guarantee being cited.

Is this Product schema generator free?

Yes. It is completely free, with no sign-up and no limit. Everything runs in your browser, so your product details are never uploaded to a server.

Products not showing in Google Shopping?

Search Savvy’s e-commerce SEO team fixes product markup across your templates, sets up shipping and returns, and grows your visibility in Google and AI search.

Call our SEO team