Free generator
Product Schema Generator: Free JSON-LD Markup
Fill in the product's details and copy the generated JSON-LD. Product markup is what makes your listings eligible for rich results in Google — price, stars and availability right in the search snippet.
Paste into your product template's <head> or body
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Linen Crew Tee",
"description": "Relaxed-fit crew neck tee in washed European linen.",
"image": [
"https://example.com/products/linen-tee.jpg"
],
"brand": {
"@type": "Brand",
"name": "Fieldcrest Studio"
},
"sku": "FC-TEE-LIN-M",
"offers": {
"@type": "Offer",
"url": "https://example.com/products/linen-crew-tee",
"price": "48.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition"
}
}
</script>Google requires the markup to match what's visible on the page — don't add a rating the page doesn't show. Validate with Google's Rich Results Test before shipping.
Runs in your browser. Nothing you enter is stored or sent.
What product schema does
Structured data tells Google exactly what the page is: a product, its price, whether it's in stock, who makes it. Pages with valid Product markup are eligible for rich results — the snippets with price and star ratings that visibly out-click plain blue links.
The rules that get markup rejected
The markup must mirror the visible page: a rating in the schema with no reviews on the page is a violation, and a price mismatch gets the rich result dropped. One Product per page, on the product page itself. Validate with Google's Rich Results Test after installing.
Full walkthrough: Fix “missing field” warnings in Search Console.
Frequently asked questions
Does Shopify add product schema automatically?
Most Shopify themes ship some Product JSON-LD, but coverage varies: many omit fields Google wants (brand, GTIN, aggregateRating) or emit warnings in Search Console. Check a product URL in Google's Rich Results Test before assuming you're covered.
Where do I paste JSON-LD on a Shopify product page?
In the theme's product template — typically a snippet included from main-product.liquid or theme.liquid — inside a <script type="application/ld+json"> tag. If your theme already outputs Product schema, replace or extend it rather than adding a second competing block.
What fields are required for product rich results?
At minimum a name plus either offers (price, currency, availability), a review, or an aggregateRating. In practice, fill everything you truthfully can — image, brand, SKU and GTIN improve eligibility and matching. Fields like ratings may only be included when the page visibly shows them.
Why does Search Console say “missing field gtin” on my products?
Most of those are warnings, not errors: the markup is valid but missing optional fields that would make it richer. Add the GTIN if the product genuinely has one; if it doesn't, the warning can be safely ignored — never invent a barcode to silence it.