Home › Developer Tools › Product Schema Generator

Product Schema Generator

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

8, 12, 13 or 14 digits. The check digit is verified.

Offer

Shipping & returns (optional)

Rating & reviews

Individual reviews (optional)
Product JSON-LD

      
Advertisement
Advertisement

How to use the Product Schema Generator

  1. Enter the product name, description, page URL and image URLs.
  2. Add the identifiers: brand, SKU and the barcode number (GTIN, UPC or EAN) if the product has one.
  3. Fill in the offer: price, currency, availability and condition. Add shipping and returns if you sell online.
  4. Add the rating (average and number of reviews) and any individual reviews shown on the page.
  5. 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.

ObjectKey propertiesNotes
Productname, image, description, sku, gtin, mpnIdentifiers help match the product across shops.
BrandnameNested in brand.
Offerprice, priceCurrency, availability, itemCondition, priceValidUntilPrice is a number with a dot decimal; currency is a 3-letter code.
OfferShippingDetailsshippingRate, shippingDestinationOptional; 0 means free shipping.
MerchantReturnPolicyreturnPolicyCategory, merchantReturnDays, returnFeesOptional; used for merchant listings.
AggregateRatingratingValue, reviewCount, bestRating, worstRatingMust reflect real ratings shown on the page.
Reviewauthor, reviewRating, reviewBody, datePublishedAuthor name is required for each review.

GTIN lengths and check digits

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.

FormatDigitsCommon use
GTIN-8 (EAN-8)8Small packages
GTIN-12 (UPC-A)12Retail products in the US and Canada
GTIN-13 (EAN-13)13Retail products in most other countries, books (ISBN-13)
GTIN-1414Cases 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.
  • Validate the live page with the Rich Results Test after publishing.

Frequently asked questions

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.

Related tools

Schema Markup Generator (JSON-LD)Create JSON-LD structured data for FAQ, Product, Article and more.FAQ Schema GeneratorTurn questions and answers into FAQPage JSON-LD markup with validation and a preview.Structured Data ValidatorCheck JSON-LD, microdata and RDFa against schema.org and Google rich result requirements.Meta Tag GeneratorCreate SEO, Open Graph and X meta tags with live previews.QR Code GeneratorMake QR codes for links, Wi-Fi, email and more.Barcode GeneratorCreate Code 128, EAN-13, UPC-A, EAN-8, Code 39 and ITF-14 barcodes as PNG or SVG.UUID GeneratorGenerate UUID v4 and v7 / GUIDs in bulk and copy or download them.Htaccess & Nginx Redirect GeneratorBuild 301 redirects for .htaccess, Nginx and Netlify or Cloudflare _redirects.Fake Data GeneratorGenerate mock data as JSON, CSV or SQL.Random String GeneratorGenerate secure random strings and tokens in bulk with any length and character set.API Key GeneratorCreate secure API keys and secrets with prefixes, checksums and SHA-256 hashes for storage.MIME Type LookupFind the MIME type for any file extension, or the extensions for a MIME type, in 400+ entries.Cron Expression GeneratorBuild crontab schedules visually, read them in plain English and see the next run times.URL Slug GeneratorTurn titles into clean, SEO-friendly URL slugs: accents, stop words, separators and bulk lines.JSON Schema GeneratorTurn sample JSON into a draft 2020-12 JSON Schema with types, required fields and formats.Gitignore GeneratorBuild a .gitignore from 50+ templates for languages, frameworks, IDEs and OS, merged and deduped.License GeneratorCreate a LICENSE file for MIT, Apache, GPL, BSD, ISC, MPL or Unlicense with your name and year.ULID GeneratorGenerate sortable ULIDs and UUID v7 in bulk, monotonic option, and decode their timestamps.Htpasswd GeneratorCreate .htpasswd entries with bcrypt, APR1-MD5 or SHA-1 for Apache and Nginx basic auth.Placeholder Image GeneratorCreate placeholder images in any size, color and text as PNG, JPG, WebP, SVG or data URI.Ads.txt GeneratorCreate or validate ads.txt and app-ads.txt files: seller lines, cert IDs and variables.Docker Run to Compose ConverterConvert docker run commands to docker-compose.yml, or a compose file back to docker run.Dockerfile GeneratorGenerate a production Dockerfile and .dockerignore for Node, Python, Go or a static nginx site.HTML Boilerplate GeneratorTick the options you need and get a clean HTML5 starter template with meta, OG tags and CSS reset.JSON to Zod SchemaInfer a Zod (or Yup) schema from sample JSON with optional, nullable and z.infer types.Linux Commands Cheat SheetSearchable Linux and bash command reference with flags explained, examples and copy buttons.LLMs.txt GeneratorBuild an llms.txt file for AI crawlers: summary and link sections, import from your sitemap.Nano ID GeneratorGenerate secure Nano IDs with custom alphabet, length and count, plus a collision calculator.Nginx Config GeneratorBuild an nginx server block: static site, SPA, reverse proxy or PHP, with SSL, gzip and redirects.OpenAPI / Swagger ViewerView OpenAPI 2/3 JSON or YAML as interactive API docs with validation and an endpoint list.package.json GeneratorFill a form and get a valid, npm-ready package.json with scripts, dependencies and checks.PKCE Code Challenge GeneratorGenerate an OAuth 2.0 PKCE code_verifier and S256 code_challenge, build auth URLs, verify pairs.README GeneratorFill in a form and get a polished README.md with badges, install, usage and license, live preview.Regex GeneratorBuild regular expressions visually from blocks or presets (email, date, phone) and test them live.Commit Message GeneratorBuild Conventional Commit messages with type, scope, body, breaking change and issue refs.Database Schema DesignerDesign tables and relationships visually, then export SQL for MySQL, PostgreSQL or SQLite.Docker Compose GeneratorBuild a docker-compose.yml with a form: services, ports, volumes, env, healthchecks and presets.Dummy File GeneratorCreate test files of an exact size in KB, MB or GB with zeros, random bytes or text.Quartz Cron GeneratorBuild and explain Quartz and Spring cron expressions with seconds, ?, L, W and #, plus next fire times.README Badge GeneratorCreate Shields.io-style README badges for license, version, build and custom labels.Systemd Service File GeneratorCreate a systemd .service unit with ExecStart, user, restart policy, environment and hardening.tsconfig.json GeneratorBuild a tsconfig.json with target, module, strict checks and path aliases, each option explained.Access Log AnalyzerAnalyze Apache and Nginx access logs: top URLs, IPs, status codes, bots and traffic charts.Regex String GeneratorGenerate random test strings that match any regular expression, checked against the real regex.ASCII Table GeneratorTurn CSV or pasted cells into plain-text tables: MySQL, Markdown, Unicode box and reST styles.FFmpeg Command GeneratorPick a task and options, get the exact ffmpeg command with every flag explained.Folder Tree GeneratorTurn a local folder or an indented list into an ASCII directory tree for your README.GitHub Actions Workflow GeneratorBuild a GitHub Actions CI workflow: triggers, matrix, caching, tests, Pages or Docker deploy.Kubernetes YAML GeneratorGenerate Deployment, Service, Ingress, ConfigMap, Secret and HPA manifests with safe defaults.Markdown TOC GeneratorGenerate a linked table of contents from Markdown headings with GitHub-style anchors.OpenAPI EditorEdit OpenAPI/Swagger YAML or JSON side by side with live API docs, validation and download.OpenAPI ValidatorValidate OpenAPI 3.0/3.1 and Swagger 2.0 specs: schema errors, broken $refs, line numbers.Pivot Table MakerBuild pivot tables from CSV or Excel by drag and drop: sum, count, average, charts, export.SQL Query BuilderBuild SELECT queries visually: joins, filters, GROUP BY, ORDER BY and LIMIT, as clean SQL.Truth Table GeneratorType a logic expression and get its full truth table, minterms and canonical DNF/CNF.TypeScript PlaygroundWrite TypeScript with live type checking, see the compiled JavaScript and run it in your browser.Article Schema GeneratorCreate Article, BlogPosting or NewsArticle JSON-LD with headline, authors, dates and images.Event Schema GeneratorCreate Event JSON-LD with dates, venue or online location, tickets, organizer and performers.Google Search Query BuilderBuild advanced Google searches with site:, filetype:, intitle:, exact phrases and date operators.HowTo Schema GeneratorCreate HowTo JSON-LD with steps, tools, supplies, total time and cost, then copy it.Htaccess GeneratorBuild an Apache .htaccess file: HTTPS, www, gzip, caching, error pages, IP blocks, hotlinks.HTML Email Template BuilderDrag and drop blocks to build a responsive, table-based HTML email with inline styles.Organization Schema GeneratorCreate Organization JSON-LD with logo, URL, contact points, address and social profiles.PIN GeneratorGenerate random 4, 6 or 8-digit PINs that avoid sequences, repeats, dates and common PINs.Question Keyword GeneratorFind the questions people ask about a topic, grouped by who, what, why, how, can and more.Recipe Schema GeneratorCreate Recipe JSON-LD with ingredients, steps, prep and cook times, nutrition and ratings.Security Headers GeneratorPick HSTS, CSP, frame, referrer and permissions options and get Apache, Nginx, Netlify or Cloudflare config.SKU GeneratorBuild consistent SKUs from brand, category, size and color, then export every variant as CSV.
See all 85 Code Generators & Builders →