Product Schema Generator

Generate Product JSON-LD with price, availability, shipping and returns: the fields Google uses for merchant listings.

Describe the result you need. AI will set up the tool and ask for any missing details.

Configure with AI

Enter to submit · Shift + Enter for a new line

Sent to AI. Leave out passwords and private customer data.

Your details

Product
Offer
Reviews

Only if these reviews are visible on the product page.

Shipping

0 for free shipping.

Returns

Paste this into your product template, or check it in Google's Rich Results Test

product-schema.html
<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "Organic Cotton Crew Tee",
  "description": "Midweight crew neck t-shirt in 100% organic cotton. Pre-shrunk, relaxed fit.",
  "image": "https://example.com/images/crew-tee-front.jpg",
  "sku": "HC-TEE-001",
  "brand": {
    "@type": "Brand",
    "name": "Harbour & Co"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/products/organic-cotton-crew-tee",
    "price": "34.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition",
    "shippingDetails": {
      "@type": "OfferShippingDetails",
      "shippingRate": {
        "@type": "MonetaryAmount",
        "value": 0,
        "currency": "USD"
      },
      "shippingDestination": {
        "@type": "DefinedRegion",
        "addressCountry": "US"
      },
      "deliveryTime": {
        "@type": "ShippingDeliveryTime",
        "handlingTime": {
          "@type": "QuantitativeValue",
          "minValue": 0,
          "maxValue": 1,
          "unitCode": "DAY"
        },
        "transitTime": {
          "@type": "QuantitativeValue",
          "minValue": 2,
          "maxValue": 5,
          "unitCode": "DAY"
        }
      }
    },
    "hasMerchantReturnPolicy": {
      "@type": "MerchantReturnPolicy",
      "applicableCountry": "US",
      "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
      "merchantReturnDays": 30,
      "returnMethod": "https://schema.org/ReturnByMail",
      "returnFees": "https://schema.org/FreeReturn"
    }
  }
}
</script>

Most Shopify themes and many WooCommerce plugins already output Product markup. Check the page source for an existing Product block first so you don't publish two conflicting ones.

What product schema does

Product structured data tells Google the facts about a product in a format it can read reliably: name, price, currency, stock, shipping cost, delivery time and return policy. With it, your products can show those details directly in search results and in Google's shopping experiences.

FieldWhy it matters
name, image, offers.price, offers.priceCurrencyNeeded for merchant listing results at all
availabilityShows In stock / Out of stock in results
shippingDetailsLets Google show shipping cost and delivery time
hasMerchantReturnPolicyShows the return window, e.g. “30-day returns”
gtin, brand, skuHelps Google match your product to the right listings
aggregateRatingStar ratings, only when the reviews are shown on the page

Adding it to Shopify or WooCommerce

  1. 01

    Check what's already there

    View the product page's source and search for "@type": "Product". Most Shopify themes and WooCommerce itself already output some product markup, often without shipping and return details.

  2. 02

    Shopify

    Either extend the markup in your theme's product section (look for the structured_data filter or an existing JSON-LD block), or use this output as the reference for what's missing.

  3. 03

    WooCommerce

    WooCommerce outputs basic Product data. SEO plugins can add more, or you can add a JSON-LD block to the single product template.

  4. 04

    Test it

    Paste the product URL into Google's Rich Results Test, then watch the Merchant listings report in Search Console for errors across all products.

For a whole catalogue, don't paste static JSON-LD into each product. Use this output as the template and have your theme fill in each product's values.

Questions people ask

Will schema get me star ratings?

Only if genuine reviews for that product are visible on the page. Marking up ratings shoppers can't see breaks Google's policy and can lead to a manual action.

Do I need shipping and return markup if I use Merchant Center?

Merchant Center settings can cover shipping and returns for Shopping ads and free listings. Adding them to the page as well keeps the details consistent everywhere Google shows your product.

What if I have variants?

Each variant with its own price or GTIN can have its own Offer. For size and colour families, Google also supports ProductGroup markup.

Is JSON-LD better than microdata?

Google accepts both, but recommends JSON-LD because it's separate from your HTML and easier to maintain.

Want this builtinto your store?

I'm Emmanuel, a Shopify and WooCommerce developer. If this tool pointed at something you'd rather have fixed for you (a faster store, cleaner product data, a migration, a custom feature), send me a note.

Emmanuel Asika

Emmanuel Asika

Shopify & WooCommerce developer, Dublin

I build and fix online stores: new builds, migrations, speed, SEO and the custom bits apps can't do.

hello@emmanuelasika.com

Last reviewed 29 September 2026.

Sources: Google: Merchant listing structured data · Schema.org: Product