Structured Data
Review & Rating Schema Validator
Paste Review or AggregateRating JSON-LD (or a full page) and get a real spec check: rating range math, required fields, author validity, date format, duplicate-review detection, and a warning for the single most common reason review snippets silently never show — self-serving reviews of your own business.
Runs entirely in your browser. Nothing you paste here is sent anywhere except an anonymized usage count.
Paste the contents of a <script type="application/ld+json"> block, or a full HTML page — every Review and AggregateRating record is found automatically, including ones nested inside Product, LocalBusiness, Recipe, etc.
What this checks, and how to fix common mistakes
Google only shows the star-rating "review snippet" in search results when Review or AggregateRating JSON-LD is syntactically valid, complete, and policy-eligible. This tool walks the actual nested structure — reviewRating, itemReviewed, author — the same way search engines read it, whether the record sits standalone or nested inside a Product, LocalBusiness, Recipe or similar item.
The single most common reason a review snippet never appears, even with perfectly valid schema: Google does not show review rich results for "self-serving reviews" — markup where a business rates or reviews itself (Organization, LocalBusiness and its subtypes like Restaurant, Store, Hotel, Dentist, etc.). This is only intended for genuine third-party critic or aggregator sites. If this tool flags that risk, either move the rating off Organization/LocalBusiness onto a specific Product or Service you sell, or accept it will not earn a rich result on your own homepage.
ratingValue must fall between worstRating and bestRating — schema.org defaults these to 1 and 5 if you omit them, so a scale like "9.5 out of 10" needs an explicit bestRating of 10, or Google will reject it as out of range. bestRating must always be greater than worstRating.
Every Review needs a reviewRating with a numeric ratingValue and an author with a real name (a plain Person/Organization object, not just a bare string). AggregateRating needs at least one of reviewCount or ratingCount as a non-negative whole number, and reviewCount (reviews with written text) should never exceed ratingCount (all ratings, with or without text).
datePublished should be a real ISO 8601 date ("2026-05-10", not "10/5/2026"). If a page lists several Review records, this tool also flags likely duplicates — the exact same author and review text appearing twice usually means an accidental copy-paste rather than two genuine reviews, which itself can look suspicious to Google's spam systems.