Product Schema Markup Generator
Add price, star ratings, availability and shipping to Google Search — generate valid Product schema markup in seconds.
E-commerce product pages — enables price, rating, and availability in Google Search.
Required. Full product name as displayed on the page.
Overview of the product's key features.
Direct URL to product image
Merchant-specific identifier for the product.
The brand of the product.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"offers": {
"@type": "Offer",
"priceCurrency": "USD"
}
}
</script>- Product name
- Price
- Currency
How to use the Product Schema Markup Generator
- Enter the product name exactly as it appears on your page — Google cross-checks the schema against visible content.
- Set the price and currency using an ISO 4217 code (USD, EUR, UAH, GBP). Both fields are required for Rich Results eligibility.
- Select the availability status — InStock, OutOfStock, PreOrder, or BackOrder. The generator inserts the full Schema.org URL automatically.
- Add a GTIN (barcode), MPN, or SKU if your product has one — this unlocks Google Merchant Center integration and improves product identification across merchants.
- Fill in aggregateRating only if your page visibly displays real user reviews. Self-generated or inflated ratings violate Google's guidelines and risk a manual penalty.
- Copy the generated JSON-LD block from the output panel and paste it inside the <head> of your product page.
- Validate instantly with the Google Rich Results Test and monitor sitewide coverage in Google Search Console → Enhancements.
How the Product Schema Markup Generator works
Product schema markup is a JSON-LD script block placed in your page's <head> that tells Google exactly what your product page contains — name, price, availability, brand, and ratings. The generator builds this block locally in your browser: you fill in the fields, the JSON-LD output updates live in real time, and you copy the result directly into your HTML. No server, no account, no data leaves your machine.
Once added to your page, Google reads the markup during its next crawl and uses it to decide whether your listing qualifies for Rich Results — the enhanced SERP snippets that display price, availability badges, and star ratings directly in search without the user clicking through. The schema is completely invisible to site visitors; it only adds machine-readable metadata for search engines and structured data parsers.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Sony WH-1000XM5 Wireless Headphones",
"offers": {
"@type": "Offer",
"price": "349.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
}
</script>Rich Results that Product Schema unlocks in Google Search
Without Product schema, Google displays a standard blue-link snippet for your product page — title, URL, and a short description. With correctly filled markup, Google can enrich that snippet with additional signals pulled directly from your structured data, making your listing stand out visually before a user even clicks.
- Price and currency — shown beneath the page title in the SERP snippet, with the currency symbol. For products with multiple variants, Google may display a price range (e.g., "$29.99 – $79.99").
- Availability badge — "In stock" or "Out of stock" displayed next to the price. Prevents users from clicking through to unavailable products, improving your bounce metrics.
- Star ratings — 1–5 stars with review count displayed when aggregateRating is filled. Consistently one of the highest click-through rate drivers in e-commerce SERPs.
- Product image — can appear in Google Images Shopping tab and in standard mobile search results, increasing surface area and visual recognition.
- Shipping information — estimated delivery timeframe and cost shown directly in the SERP if shippingDetails is populated. Reduces pre-purchase friction.
- Return policy — displays return window and conditions for markets where Google supports this field, primarily the United States.
- Merchant badge — Google may attach a verified seller label for merchants meeting its quality and trust signals via Google Merchant Center.
The minimum set required for Rich Results eligibility is name + offers.price + offers.priceCurrency + offers.availability. Google skips the schema and shows a plain snippet if any of these four are missing or use invalid values — regardless of how many other fields are correctly filled.
Product Schema fields — importance and business impact
Google divides Product schema fields into required (without them no Rich Result is generated), recommended (increase the richness and accuracy of the displayed result), and optional (provide additional signals for specific markets or integration points). The table below covers every major field and maps it to its practical impact.
| Field | Importance | What it unlocks |
|---|---|---|
| name | Required | Product name used in the SERP snippet |
| offers.price | Required | Price display in search results |
| offers.priceCurrency | Required | Currency symbol next to the price (ISO 4217 code) |
| offers.availability | Required | "In stock" or "Out of stock" badge in SERP |
| image | Recommended | Product photo in Google Images and mobile search |
| brand.name | Recommended | Brand name shown beneath the page title |
| description | Recommended | Extended description for Google to parse and understand |
| gtin / mpn / sku | Recommended | Product identification — required for Google Merchant Center integration |
| offers.priceValidUntil | Recommended | Prevents stale price display after the set date passes |
| aggregateRating | Optional — high impact | Star ratings in SERP — the strongest CTR driver in e-commerce |
| shippingDetails | Optional | Estimated delivery time and cost shown in the snippet |
| hasMerchantReturnPolicy | Optional | Return window and conditions for US and supported markets |
When to use Product Schema — and when to skip it
Pages where Product Schema is the right choice
- Individual product pages in an online store — the primary and most impactful use case. Every product page with a fixed price should have its own schema block with accurate availability.
- Digital product pages (plugins, fonts, templates, software licenses) — if there is a set price and a clear purchase action, Product schema applies regardless of whether the item is physical.
- Single-product landing pages — a dedicated landing page for one item with a "Buy now" or "Add to cart" button qualifies even if the rest of the site is not a store.
- Manufacturer pages with listed prices — even without a direct checkout, if the page shows price and availability, the schema is valid and may improve SERP appearance.
- Subscription products — use priceSpecification to describe billing frequency (monthly or annual) alongside the recurring amount.
Pages where Product Schema will not work or may cause issues
- Category and collection pages — Google does not support Product schema on pages that list multiple products. Use ItemList schema instead for these pages.
- Service pages — consulting, development, design, and similar services should use the Service schema type. Google rejects Product markup on pages that describe services rather than goods.
- Affiliate pages without a fixed price — if the displayed price is pulled from a third-party feed and may differ from what the merchant shows, Google can reject the schema for a price mismatch.
- "Price on request" pages — without a concrete numeric price value, the schema cannot generate a price Rich Result. Omit the offers block entirely or use a different schema type.
- Discontinued products — do not remove the schema immediately. Update availability to Discontinued instead — this signals to Google that the item no longer exists rather than simply being out of stock.
- Pages with aggregateRating but no visible reviews — Google verifies that review data shown in the schema is actually present on the page. Schema with ratings not visible to users risks a manual action that removes Rich Results sitewide.
Technical deep dive: GTIN formats, priceValidUntil, and aggregateRating
GTIN (Global Trade Item Number) is the most important product identifier for Google Merchant Center integration and cross-merchant product deduplication. There are four formats in use: gtin8 (8 digits, used on small consumer items), gtin12 (12 digits — UPC-A, the North American standard), gtin13 (13 digits — EAN-13, standard in Europe and Ukraine), and gtin14 (14 digits — shipping carton codes). If you are unsure which format applies to a specific product, use the generic gtin field — Google automatically identifies the format from the digit count. For digital products or items without a retail barcode, use mpn (manufacturer part number) or sku (your internal identifier).
priceValidUntil is frequently skipped but critical for maintaining Rich Results over time. Once the date passes, Google may stop displaying the price in the SERP snippet even if the product is still available and the price has not changed. Treat this field as part of your regular product data update pipeline — update it alongside every price change, or set it far in advance and refresh periodically.
aggregateRating requires both ratingValue and at least one of ratingCount or reviewCount. Without an explicit count, Google rejects the rating field regardless of the ratingValue. There is no published minimum review count, but in practice fewer than 3 visible reviews rarely trigger star display in the SERP. More critically: the rating value and review count in the schema must match what a user actually sees on the page — Google's crawler actively verifies this. Discrepancies between schema data and visible content are one of the most common causes of manual actions that remove Rich Results.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Sony WH-1000XM5 Wireless Headphones",
"image": "https://example.com/img/sony-wh1000xm5.jpg",
"description": "Industry-leading noise cancellation, 30-hour battery life, multipoint Bluetooth.",
"brand": { "@type": "Brand", "name": "Sony" },
"gtin13": "4548736132245",
"offers": {
"@type": "Offer",
"price": "349.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"priceValidUntil": "2025-12-31",
"shippingDetails": {
"@type": "OfferShippingDetails",
"shippingRate": {
"@type": "MonetaryAmount",
"value": "0",
"currency": "USD"
},
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": {
"@type": "QuantitativeValue",
"minValue": 0,
"maxValue": 1,
"unitCode": "DAY"
},
"transitTime": {
"@type": "QuantitativeValue",
"minValue": 2,
"maxValue": 5,
"unitCode": "DAY"
}
}
}
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "2847"
}
}
</script>