Product Review Schema Generator (Free, JSON-LD, Rich Snippets Ready)
A free, single-page tool that generates valid Product + Review JSON-LD schema for any product review page. Fill 12 fields, copy the output, paste in your site’s <head>. Validated against Google’s 2026 structured-data requirements, passes the Rich Results Test.
I was writing a review of a WordPress host in 2023 and couldn’t find a schema generator that emitted the exact Review + Product + aggregate-rating combo Google requires for product-review rich results. Every “free” one wanted an email signup, produced deprecated markup, or missed the itemReviewed nesting that actually makes the snippet eligible. So I built this. It ships the current (2026) schema spec, which tightened up that year when Google cracked down on thin product-review pages.
Live tool
Product Review Schema Generator
Fill the fields. JSON-LD updates live. Copy, paste into the <head> of your review page.
What the tool does
- Emits valid JSON-LD with
@type: Review, nesteditemReviewed: Product, andRating - Includes the 12 fields Google actually checks: product name, brand, image, review author, rating value, best/worst rating, review date, review body, pros/cons, and review URL
- Copies to clipboard with one click — no signup, no email capture, no rate limit
- Runs entirely in the browser — your data never touches my server
- Tested against Google’s Rich Results Test and schema.org validator (2026 spec)
- Works anywhere — paste into WordPress via an SEO plugin’s schema field, Shopify theme.liquid, Webflow custom code, or plain HTML
How to use it
The tool is embedded above. Fill the fields, watch the JSON-LD update live, click “Copy” to grab it. In WordPress, paste it into your SEO plugin’s schema field (Rank Math: “Custom Schema” block; Yoast: “Schema” tab). In Shopify or Webflow, drop it into a page-level custom-head block wrapped in <script type="application/ld+json">.
{
"@context": "https://schema.org",
"@type": "Review",
"itemReviewed": {
"@type": "Product",
"name": "Your Product Name",
"brand": { "@type": "Brand", "name": "Brand Name" },
"image": "https://yoursite.com/product.jpg"
},
"author": { "@type": "Person", "name": "Gaurav Tiwari" },
"reviewRating": {
"@type": "Rating",
"ratingValue": "4.5",
"bestRating": "5",
"worstRating": "1"
},
"datePublished": "2026-04-24",
"reviewBody": "Your full review text here — 300-500 words for best results.",
"positiveNotes": {
"@type": "ItemList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Pro #1" },
{ "@type": "ListItem", "position": 2, "name": "Pro #2" }
]
},
"negativeNotes": {
"@type": "ItemList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Con #1" }
]
}
}How it works (and what changed in 2026)
The generator is a single HTML page with vanilla JavaScript that maps form fields to a JSON-LD template. Schema.org’s Review spec nests the reviewed product inside itemReviewed — a mistake most hand-written schemas get wrong. Google’s 2026 update added requirements for positiveNotes and negativeNotes (pros and cons) if you want the expanded rich-result card, and they deprecated standalone AggregateRating on review pages in favour of inline reviewRating. The generator reflects both changes. The output is minified — paste it inline with <script type="application/ld+json">...</script>.
Download and source
- Embedded tool above — runs entirely in your browser, no data hits my server
- Gist with the source HTML/JS: gist.github.com/wpgaurav
- Validate the output at Google Rich Results Test
- For WordPress: Rank Math’s “Custom Schema” block accepts JSON-LD directly (skip the native Review schema builder, it’s less flexible than this generator)
FAQs
Do I still need this in 2026 with AI answers taking over search?
Yes. Google’s AI Overviews and LLM search engines (ChatGPT, Perplexity) both cite structured-data-rich pages disproportionately. A review page with valid JSON-LD is more likely to be cited in an AI answer than an equivalent page without it. Schema is more valuable for GEO than it ever was for SEO.
What’s the difference between Review and Product schema?
Product schema describes the thing being sold. Review schema describes an individual review of that thing. For a review article, use Review with itemReviewed: Product nested inside — Google treats this combo as the canonical pattern for review rich results.
Can I use this for software or services?
Yes. Change @type: Product to @type: SoftwareApplication or @type: Service for better categorisation. The generator defaults to Product because it’s the most common case.
What about aggregate ratings from multiple reviewers?
Use aggregateRating on the Product object when showing a collection of reviews. Use reviewRating on the Review object when showing a single reviewer’s score. The generator emits the single-review pattern — for aggregate, add a second aggregateRating block to the Product.
Will this get me a star rating in Google?
Maybe. Google shows star ratings for a small subset of review pages that meet strict quality gates — first-hand experience, multiple reviews aggregated, transparent methodology. Valid schema is necessary but not sufficient. The generator emits the correct markup; Google decides whether to render the stars.
Is there an API for this?
Not from me. If you need programmatic schema generation, use the schema-dts TypeScript package or build a small Cloudflare Worker with the same logic. The generator is intentionally a frontend-only tool.