Review schema generator: blocks you can copy, and the eligibility rule that decides whether stars appear
What a generator produces, the Review and AggregateRating properties Google requires, and the self serving review rule that catches most businesses out.
Published by AI Knows Us · Updated 12 October 2026
A review schema generator turns a few fields into a Review or AggregateRating block in JSON-LD. Generating the code is the easy half. Google's review snippet documentation limits the feature to a specific list of types, and it states that if the entity being reviewed controls its own reviews, pages using LocalBusiness or other Organization markup are not eligible for the star review feature, whether the reviews sit in the markup or arrive through an embedded third party widget. So decide the type and who collects the reviews first, then generate. Both blocks you need are below, ready to copy.
Last verified: 09 October 2026, against Google's review snippet documentation at developers.google.com/search/docs/appearance/structured-data/review-snippet
The two blocks a generator produces
There are only two shapes, and the difference matters. AggregateRating is the overall score from many people, which is what produces a star line. Review is one person's review. Google's guidance is that if you include individual reviews, include an aggregate rating as well.
AggregateRating, nested in the thing being reviewed
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Example Noise Cancelling Headphones",
"sku": "EX-NC-200",
"image": "https://example.com/img/nc200.jpg",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.4",
"bestRating": "5",
"worstRating": "1",
"ratingCount": "312",
"reviewCount": "188"
}
}
</script>
One individual review
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Review",
"itemReviewed": {
"@type": "Product",
"name": "Example Noise Cancelling Headphones"
},
"author": {
"@type": "Person",
"name": "Priya N."
},
"datePublished": "2026-09-18",
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5",
"worstRating": "1"
},
"reviewBody": "Blocks the train completely and the battery lasts a full week of commuting."
}
</script>
Change the values, keep the structure, and make sure every value you put in the markup is also visible to a visitor on that page. Google requires review content and ratings to be visible to users on the marked up page.
Which types are eligible
Google's documentation lists the types that support review snippets directly: Book, Course, Event, LocalBusiness, Movie, Product, Recipe and SoftwareApplication. It also supports CreativeWorkSeason, CreativeWorkSeries, Episode, Game, MediaObject, MusicPlaylist, MusicRecording and Organization. For employer reviews, it directs you to EmployerAggregateRating instead.
Two of those carry a condition. LocalBusiness and Organization are listed as supported only for sites that capture reviews about other local businesses or other organizations. That is the rule in the next section, and it is the one that decides whether a generator is any use to you at all.
The self serving review rule
Google states it plainly: if the entity being reviewed controls its own reviews, its pages using LocalBusiness or other Organization markup are not eligible for the star review feature. It applies whether the reviews are in the markup directly or come in through an embedded third party widget, such as Google Business or Facebook reviews. It adds that ratings must come directly from users, and that human editors may not create, curate or compile ratings for local businesses.
In practice that means a plumber marking up the testimonials on their own homepage, or a software company marking up its own customer quotes as Organization reviews, is marking up something that was never eligible. The honest and more productive route:
- Mark up what you sell, not who you are. Products, courses, events, recipes, books, films and software applications are all eligible with reviews you collect. A clinic cannot star rate itself, but it can mark up a course it runs.
- Let the review platforms carry the stars. Google Business Profile reviews appear in Maps and local results through your profile, and review platforms publish their own aggregate markup on their own pages. That is where the star line for a service business comes from.
- Keep the testimonials on the page anyway. They persuade people, they get quoted by assistants, and they are good content. Just leave them out of
Organizationreview markup. - Use
Organizationschema for the facts. Name, logo, contact points, same as links and identifiers all belong there. The reviews do not.
Properties a generator has to fill in
| Block | Required | Recommended |
|---|---|---|
| Review | author with a valid name, itemReviewed unless nested, itemReviewed.name, reviewRating, reviewRating.ratingValue | datePublished in ISO 8601, reviewRating.bestRating, reviewRating.worstRating |
| AggregateRating | itemReviewed unless nested, itemReviewed.name, ratingValue, and at least one of ratingCount or reviewCount | bestRating, worstRating |
Details worth knowing before you fill a form in: the default rating scale is 1 to 5, bestRating defaults to 5 and worstRating to 1, an author name over 100 characters makes the page ineligible for an author based snippet, and an individual review may omit its rating when the markup includes both an author and a review date. Rating values use a decimal point, not a comma.
The guidelines that invalidate good looking markup
- Identify one specific item. Nest the review, or use
itemReviewed. Reviews of a category or a list do not qualify. - Do not aggregate reviews from other websites into your own aggregate rating.
- No fake reviews, and nothing not based on genuine experience. Incentivised reviews have to disclose the incentive clearly and prominently.
- Keep the numbers honest. The aggregate in the markup should be the arithmetic of the reviews on the page, recalculated when they change.
- Breaches can lead to manual action, and structured data on a page under manual action is ignored. Google allows a reconsideration request once the problem is fixed.
Validate before you ship
- Google's Rich Results Test at search.google.com/test/rich-results tells you whether the page is eligible for the feature and flags missing required properties.
- The Schema Markup Validator at validator.schema.org checks the vocabulary itself, which is useful when you are using properties Google does not read.
- Search Console reports the same errors across the whole site once the pages are indexed, which is how you catch a template that broke on one product type.
Choosing a generator
A generator is a convenience, not a strategy, and the free ones are fine. Three things to check in the output before you paste it: that it produced JSON-LD inside a script tag rather than microdata attributes, that it nested the rating inside the item being reviewed or set itemReviewed explicitly, and that it did not invent bestRating or counts you did not enter. For anything running at scale, generate the block from your own data in the template instead, so the numbers update when the reviews do.
This page covers review markup specifically. For what structured data does in general, see what is schema markup in SEO, and for a service business getting its location details machine readable, see LocalBusiness schema. For getting more real reviews in the first place, see how to improve your Google rating.
What people ask about review schema generator
Why are my stars not showing even though the markup validates?
Check eligibility first, because it is usually the type rather than the code. If the page uses LocalBusiness or Organization markup and you collect the reviews yourself, the star feature does not apply to it. Where the type is eligible and the markup is valid, the page qualifies and Google decides when to display the feature; keep the ratings visible on the page and the counts current.
Can I mark up reviews collected through a widget on my site?
For Products, Courses, Events and the other eligible types, yes, as long as the reviews are visible on the page and genuinely from users. For your own business as a LocalBusiness or Organization, the embedded widget route is covered by the same self serving rule as markup you write yourself.
Do I need both Review and AggregateRating?
If you show individual reviews, include an aggregate rating too. If you only show a summary score, AggregateRating on its own is correct.
What rating scale should I use?
Stay on 1 to 5 unless you have a reason not to. If you use another scale, set bestRating and worstRating explicitly so the value is read correctly.
Does review markup help with AI answers as well as search?
It helps in a different way. Assistants read pages as text and lean on third party sources, so clearly labelled, visible ratings and real review text on the page are what gets picked up. Markup makes the same facts unambiguous to a machine, which is worth doing on every eligible page.
Your stars, summarised by someone else
Review markup earns stars on a results page, and a rating reaches the buyer as a number. An assistant condenses the same reviews into a sentence such as customers praise the service but mention slow delivery. That sentence can be the whole impression.
Ask three assistants what customers say about your business and compare the reply with your reviews. The pages cited show whether it drew on your site, Google, Trustpilot or a forum. AI Knows Us gathers those summaries and sources in one view.