Fill in the product, price and ratings to get Product JSON-LD with a nested Offer, AggregateRating and reviews. The tool checks GTIN check digits, price format and rating ranges, and previews how the result could look in search.
Last updated:
Product JSON-LD
Advertisement
Advertisement
How to use the Product Schema Generator
Enter the product name, description, page URL and image URLs.
Add the identifiers: brand, SKU and the barcode number (GTIN, UPC or EAN) if the product has one.
Fill in the offer: price, currency, availability and condition. Add shipping and returns if you sell online.
Add the rating (average and number of reviews) and any individual reviews shown on the page.
Copy the JSON-LD into the product page and test it with the Rich Results Test.
How the Product markup is structured
The code is a single Product with nested objects. Google’s product snippets need the name plus at least one of offers, aggregateRating or review.
The last digit of a GTIN is a check digit. Starting from the digit next to it and moving left, digits are multiplied alternately by 3 and 1, summed, and the check digit is whatever brings the total up to the next multiple of 10.
Format
Digits
Common use
GTIN-8 (EAN-8)
8
Small packages
GTIN-12 (UPC-A)
12
Retail products in the US and Canada
GTIN-13 (EAN-13)
13
Retail products in most other countries, books (ISBN-13)
GTIN-14
14
Cases and cartons of trade items
Tips for product structured data
Match the page. The price, currency and availability in the markup must equal what shoppers see.
Update when things change. If a product sells out, change availability to OutOfStock rather than removing the markup.
No price ranges in price. For several variants, mark up each variant or use a ProductGroup.
Real reviews only. Ratings must come from customers and be visible on the page.
What does Google require for product rich results?
For product snippets Google requires the product name plus at least one of: offers (a price), aggregateRating or review. Merchant listing results additionally need a price, currency and images, and they benefit from availability, shipping and return policy details.
How do I write the price in Product schema?
Use a plain number with a dot as the decimal separator, such as 89.99, and put the currency in priceCurrency as a 3-letter ISO 4217 code such as USD. Do not include currency symbols, thousands separators or price ranges in the price field. This tool cleans common formats for you.
What is a GTIN and how is it checked?
A GTIN (Global Trade Item Number) is the number under a barcode: UPC-A has 12 digits, EAN-13 has 13, and GTIN-8 and GTIN-14 also exist. The last digit is a check digit calculated from the others with alternating weights of 3 and 1, so a typo usually makes the check fail. The tool flags numbers whose check digit does not match.
Can I add reviews of my own products?
Yes. Unlike LocalBusiness and Organization markup, reviews of products sold on your site can be eligible for review snippets. The rating and reviews must be real, come from customers, and be visible on the page.
What availability values can I use?
Use schema.org ItemAvailability values such as InStock, OutOfStock, PreOrder, BackOrder, LimitedAvailability, OnlineOnly, InStoreOnly, SoldOut and Discontinued. They are written as full URLs, for example https://schema.org/InStock.
Should every product variant have its own markup?
Each product page should describe the product shown. If a page has several sizes or colors with different prices or SKUs, you can mark them up as separate Product items or use a ProductGroup with variants. A single Product with one Offer is the simplest correct option for a page with one price.
Does adding product schema guarantee stars in search?
No. Valid structured data makes a page eligible for rich results, but Google decides whether to show them based on quality and relevance. Check eligibility with the Rich Results Test after publishing.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.