Free Product Schema Generator

Fill in the facts visible on your page, copy the Product JSON-LD, and validate it before you publish. The guide, examples, and FAQs are below the tool. Generate this schema with AI

Type to filter 121 supported schema types.

Product workflow

Only add ratings, reviews, shipping, and return policy fields when those details are visible on the product page.

Shipping Details
Return Policy

Required

  • Visible product name
  • Canonical product URL
  • Offer price and currency
  • Availability
  • Product image

Recommended

  • Brand/SKU/GTIN
  • Shipping and return details
  • Visible ratings only when shown on page

Avoid

  • Adding reviews that users cannot see
  • Using a staging URL
  • Leaving price or currency mismatched with the page

Schema stacks

Use Product schema in a stack

Complete JSON-LD bundles that combine Product with the other types a real page needs. Browse all stacks

  • Product Schema Stack

    A combined Product + OfferShippingDetails + MerchantReturnPolicy + FAQPage JSON-LD bundle for product detail pages that need complete shopping signals.

  • Pre-Order Campaign Stack

    Pre-order campaign pages with Product + Offer, FAQs, and breadcrumb navigation.

  • Data Sheet Stack

    Product data sheets pairing Product specs with a TechArticle explainer, FAQs, and breadcrumb navigation.

  • Warranty Registration Stack

    Warranty registration pages pairing Product identity with registration Offer, FAQs, and breadcrumb navigation.

  • Mobile Carrier Plan Stack

    Mobile carrier plan pages with Product + Offer, FAQs, and breadcrumb navigation.

  • Subscription Gift Stack

    Subscription gifting pages with Product + Offer context, FAQs, and breadcrumb navigation.

Next step

Validate, repair, and publish clean structured data.

Check the generated JSON-LD against the visible page, then run both SwiftSchema and external validators before publishing.

Product Schema Generator — Show Price, Availability, and Ratings

Generate valid JSON‑LD for your product pages in minutes. Improve product understanding and qualify for rich results that highlight price and stock.

Try the Product Generator

Why most product pages underperform

  • Competitors show price and availability while your result looks plain.
  • Hand‑writing JSON‑LD is slow, easy to break, and hard to keep consistent.
  • Validator warnings for missing Offer fields derail launches.
  • Inconsistent markup across SKUs leads to uneven eligibility.

How SwiftSchema fixes it

Our guided generator focuses on the fields that impact eligibility — name, images, and Offer details — and prevents common mistakes.

It produces clean, copy‑ready JSON‑LD tailored to each product, so you can paste once per page and stay consistent across your catalog.

Optional fields like brand, SKU, and AggregateRating are supported when you have genuine review data and meet policy requirements.

How it works

  1. 01

    Choose Product in the generator below.

  2. 02

    Enter product name, images, and Offer price, currency, and availability.

  3. 03

    Add brand, SKU, and AggregateRating if applicable.

  4. 04

    Click Copy JSON or Copy Script and paste it on your product page.

  5. 05

    Validate in the Rich Results Test and deploy.

Ready to build the markup?

Paste once per page. Validate. Ship.

Generate Product JSON‑LD

What is Product structured data?

Product structured data helps search engines understand what you sell or list. When you add valid JSON-LD with Offer details, your product can become eligible for richer displays that show key information like price, availability, and ratings.

Eligibility & Status

Product is a supported rich result type when required Offer fields are present and policy requirements are met. Eligibility depends on the page content, structured data quality, and Google’s surfaces.

Why product markup matters

  • Competitive snippets: Price, availability, and review data can make your search result stand out.
  • Data consistency: Structured data keeps feeds, PDPs, and Merchant Center aligned.
  • Automation: With a consistent template, you can generate JSON-LD from your catalog automatically.
  • Policy compliance: Explicit fields (price, currency, availability) reduce Merchant Center disapprovals.

Essential properties to include

  • name and description.
  • image array with high-res URLs.
  • offers with price, priceCurrency, availability, url, itemCondition.
  • sku, mpn, or gtin IDs.
  • brand (Organization).
  • aggregateRating and review (if policy compliant).
  • Optional: color, material, size, hasMerchantReturnPolicy, shippingDetails.

Preparing product data before generating schema

  1. Gather product metadata (title, description, images, identifiers).
  2. Confirm pricing currency, availability enums, and canonical URLs.
  3. Validate review data (first-party only) if you plan to add ratings.
  4. Note product variations; each variation should have its own structured data or Offer entries.
  5. Coordinate with fulfillment teams for shipping and return policies (attach via Offer).
  6. Plan automation: use feeds or CMS exports to populate templates.

Implementation workflow inside SwiftSchema

  1. Select Product in the generator.
  2. Enter name, description, image[], and Offer details (price, priceCurrency, availability, url).
  3. Add identifiers (sku, mpn, gtin) and brand info.
  4. Include aggregateRating/review if compliant, plus optional hasMerchantReturnPolicy and shippingDetails.
  5. Export JSON-LD, embed it on the PDP, and validate via the Rich Results Test and Merchant Center tools.

Troubleshooting & QA

  • Missing currency: always include offers.priceCurrency.
  • Invalid availability: use full Schema.org URLs (e.g., https://schema.org/InStock).
  • Self-serving reviews: only mark up genuine reviews that meet Google’s policies.
  • Variation confusion: each SKU requires accurate price/availability; don’t mix multiple products into one schema block.
  • Don’t forget canonical URLs: ensure Product schema references the canonical PDP.

Maintenance and governance

  • Sync schema with your PIM/feed so price/availability updates happen automatically.
  • Monitor Rich Results and Merchant Center reports for warnings.
  • Keep lastReviewed metadata current and assign ownership (merchandising/SEO).
  • Audit quarterly to confirm images, brand info, and IDs remain accurate.

Common Errors & Fixes

  • Missing currency: always include offers.priceCurrency.
  • Invalid availability: use the full URL (e.g., https://schema.org/InStock).
  • Self-serving reviews: ensure ratings reflect genuine user reviews and follow Google’s review policies.

On-page parity checklist

  • Product title, price, and availability on-page match name, offers.price, and offers.availability.
  • Images in schema are the same gallery assets visible on the page and accessible to crawlers.
  • Brand, SKU/GTIN, and url align with the canonical PDP; variations aren’t mixed.
  • Ratings shown on-page match aggregateRating values; review counts are consistent.
  • Shipping/returns displayed on the PDP align with shippingDetails and hasMerchantReturnPolicy.

Content depth ideas (avoid thin PDPs)

  • Include specs (dimensions, materials, compatibility), care instructions, and what’s in the box.
  • Add comparison links (e.g., size charts or model comparisons) to guide buyers.
  • Provide rich imagery: lifestyle, 360/zoom, and alt text for accessibility.
  • Call out policies: warranty, returns, delivery timelines, and support options.
  • Surface FAQs for sizing, installation, or compatibility; keep answers concise and mirrored in schema when applicable.

Variations, shipping, and returns

  • Model variants with distinct Offers (different colors/sizes) or separate PDPs; avoid merging unrelated SKUs.
  • Use shippingDetails and hasMerchantReturnPolicy per Offer to keep policies accurate.
  • Include priceValidUntil for time-limited pricing when known, and sync it to promotions.
  • Clarify item condition (NewCondition, RefurbishedCondition) where relevant.

QA and governance

  • Drive PDP UI and JSON‑LD from the same PIM/feed to avoid mismatches.
  • Add automated checks for availability enums, currency codes, and numeric prices pre-deploy.
  • Revalidate after price changes, image swaps, or template updates; update lastReviewed each release cycle.
  • Monitor Search Console and Merchant Center for structured data or policy warnings and resolve quickly.
  • Keep a change log for promotions and pricing experiments so schema changes are auditable.
  • Periodically crawl a sample of PDPs to confirm only one Product block renders and that third-party widgets don’t inject conflicting schema.
  • Include @id values to keep internal references stable across reviews, recommendations, and feeds.
  • When you run A/B tests on pricing or images, verify both variants render the same structured data to avoid inconsistent signals.

Required properties

  • name
  • image
  • offers.price
  • offers.priceCurrency
  • offers.availability

Recommended properties

  • description
  • sku
  • brand
  • aggregateRating.ratingValue
  • aggregateRating.ratingCount
Minimal JSON-LD
Validate
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "ACME Anvil",
  "image": [
    "https://example.com/images/anvil.webp"
  ],
  "description": "Heavy-duty anvil for professionals.",
  "offers": {
    "@type": "Offer",
    "price": "99.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.6",
    "ratingCount": "128"
  }
}

FAQs

What is Product structured data?Show

Product structured data describes an item you sell or list, enabling rich results that can show price, availability, and ratings.

Do I need all Offer fields?Show

Provide at least price, priceCurrency, and availability. Include url, itemCondition, and priceValidUntil when applicable.

Can I show review stars?Show

Review snippets are supported for Product. Use AggregateRating with ratingValue and ratingCount based on genuine user reviews.

How do I validate Product schema?Show

Paste your JSON‑LD into the Rich Results Test and fix any missing or invalid properties it reports.

Related types

Browse all schema types

References