Generate or check review markup
The form starts with a filled-in example. Change it, and the JSON-LD and the checks below it update as you type. To check markup you already have, open Check existing markup and paste the whole <script type="application/ld+json"> tag.
Fill in from your Formgong reviews
Use the access key of the site that shows the Formgong review widget. The generator reads its public approved reviews, the same ones the widget shows, so the numbers match the page.
Your JSON-LD
Paste it into the page that shows these reviews, in the head or anywhere in the body.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Stoneware mug, ash glaze",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.5,
"reviewCount": 2,
"bestRating": 5,
"worstRating": 1
},
"review": [
{
"@type": "Review",
"author": {
"@type": "Person",
"name": "Emma"
},
"reviewRating": {
"@type": "Rating",
"ratingValue": 5,
"bestRating": 5,
"worstRating": 1
},
"datePublished": "2026-10-06",
"reviewBody": "Arrived well packed and keeps coffee warm."
},
{
"@type": "Review",
"author": {
"@type": "Person",
"name": "James"
},
"reviewRating": {
"@type": "Rating",
"ratingValue": 4,
"bestRating": 5,
"worstRating": 1
},
"datePublished": "2026-10-09",
"reviewBody": "Good mug, but the handle is a bit small for my hand."
}
]
}
</script>Checks
- OK: No problems found. After you publish, test the live page in Google's Rich Results Test.
Error:
Warning:
OK:
No problems found. After you publish, test the live page in Google's Rich Results Test.
This is not valid JSON. Paste the whole script tag or the JSON inside it.
No review markup found: no Review, no AggregateRating and no item with a review or aggregateRating property.
The reviewed item has no @type.
This @type cannot get review stars. Google accepts Book, Course, CreativeWorkSeason, CreativeWorkSeries, Episode, Event, Game, HowTo, LocalBusiness, MediaObject, Movie, MusicPlaylist, MusicRecording, Organization, Product, Recipe and SoftwareApplication.
Google does not show review stars on LocalBusiness or Organization pages for reviews the business collects about itself. The markup is valid, but expect no stars.
The reviewed item needs a name.
A standalone Review or AggregateRating needs itemReviewed with a @type and a name.
Each review needs an author with a name.
The author's name must be shorter than 100 characters.
The author is plain text. Google asks for a Person or an Organization with a name.
Each review needs reviewRating with a ratingValue.
A review's rating is outside the scale (worstRating to bestRating, or 1 to 5 when they are not set).
aggregateRating needs a ratingValue.
The average is outside the scale (worstRating to bestRating, or 1 to 5 when they are not set).
aggregateRating needs reviewCount or ratingCount.
The count is 0. Leave aggregateRating out until there is at least one review.
worstRating must be lower than bestRating.
The property is called review, not reviews. Google ignores reviews.
The average does not match the reviews listed, and the count says they are all of them.
The count is lower than the number of reviews listed.
A review is dated in the future.
Enter an access key that starts with fk_.
Loading approved reviews…
No reviews found for this key. Check the key, and that reviews are turned on for that site.
This site has no approved reviews yet.
Loaded {count} approved reviews, average {average}. The first {shown} with a name are in the list below.
Could not load the reviews. Try again.
Which pages can get review stars
Google shows review stars only when the reviewed item is one of these types: Book, Course, CreativeWorkSeason, CreativeWorkSeries, Episode, Event, Game, HowTo, LocalBusiness, MediaObject, Movie, MusicPlaylist, MusicRecording, Organization, Product, Recipe or SoftwareApplication.
LocalBusiness and Organization have a catch. When a business controls the reviews about itself, its pages are not eligible for stars, and that includes reviews shown through a widget. A café that marks up its own testimonials gets valid markup and no stars. A shop that marks up reviews of the products it sells, or a site that reviews other businesses, can get them.
What the checker looks for
- Required: a name for the reviewed item; an author with a name and a
reviewRatingwith aratingValueon each review; aratingValueplusreviewCountorratingCountonaggregateRating. - Scale: every rating must sit between
worstRatingandbestRating, which default to 1 and 5. - Author names: shorter than 100 characters. Plain text instead of a Person is flagged.
- Consistency: a count lower than the number of reviews listed, or an average that does not match reviews you say are all of them.
- Common slips:
reviewsinstead ofreview, a count of 0, a date in the future, an upside-down scale.
The checker reads the markup only. Google also checks things no markup can show, so test the live page in the Rich Results Test after you publish.
Mark up only reviews people can see
Google's rules ask for two things the checker cannot see. The reviews you mark up must be on the page, readable by visitors. And they must be yours: do not copy ratings from Google, Trustpilot or any other site into your markup.
If your page shows reviews with the Formgong review widget, open Fill in from your Formgong reviews and paste the site's access key. The generator loads the same approved reviews the widget shows, so the average and the count in the markup match what people see.
Where to paste the script
- Plain HTML: anywhere in the page, usually just before
</head>. - WordPress: a Custom HTML block on that page, or the custom code field of your SEO plugin.
- Shopify: many themes already print Product markup. Look at the page source first. If a Product block is there, add the rating to it instead of adding a second Product.
- Webflow, Framer, Squarespace: the page's custom code setting.
Questions
Will this guarantee stars in Google?
No. Valid markup makes a page eligible. Google decides whether to show stars, and it never shows them on LocalBusiness or Organization pages for reviews the business collects about itself.
Can I mark up my Google or Trustpilot reviews?
No. Google's guidelines say not to aggregate reviews or ratings from other websites. Mark up reviews collected on your own site and shown on the page.
Do I need individual reviews, or is the average enough?
Either works. aggregateRating with a ratingValue and a count is enough on its own, and so is one Review. You can include both, as long as the average is visible on the page.
Is anything I type sent to a server?
No. The generator and the checker run in your browser. The only request is the optional Load approved reviews button, which reads the public reviews of the access key you enter.
Sources
Checked on 15.10.2026 against these public pages: Google Search Central: Review snippet structured data, Google Rich Results Test, schema.org: Review.