AggregateRating schema checker for review snippets
AggregateRating schema checker: test JSON-LD against Google review snippet rules for ratingValue, counts, scale and item type. Free, runs in your browser.
JSON-LD validator: find syntax errors by line and column, then check the fields Google requires for 7 schema types. Free, runs in your browser.
Runs entirely in your browser. Nothing you enter is uploaded, logged or stored.
Google calls JSON-LD its recommended structured data format, the easiest to implement and maintain at scale. It is also easy to break: one missing comma and the whole block is ignored. This validator catches that first, then checks the block against the properties Google documents for its type, which is a narrower and more useful list than everything schema.org allows.
The validator runs in two passes, in your browser.
Syntax. The text is run through a strict JSON.parse. On failure it shows the parser’s message,
and when the browser reports a character position (as Chrome does) it converts that into a line and
column. Nothing else runs until the JSON parses.
Structure. On valid JSON it checks three things:
@context is a string containing schema.org. A missing context, or one that is not a string, reads
as “missing”.@type is present. If it matches one of seven types, each documented property is listed as
present, missing (required) or missing (recommended).| @type | Required in this validator | Recommended in this validator |
|---|---|---|
| Article | none | headline, image, author, datePublished, dateModified |
| Product | name, plus one of review, aggregateRating or offers | aggregateRating, offers, review |
| FAQPage | mainEntity | none |
| HowTo | name, step | none |
| Organization | none | name, url, logo, sameAs, contactPoint |
| BreadcrumbList | itemListElement | none |
| Recipe | name, image | author, datePublished, description, prepTime, cookTime, totalTime, recipeYield, recipeIngredient, recipeInstructions, nutrition.calories |
Article and Organization have no required fields because Google says there are none for either. For FAQPage and HowTo, whose Google documentation has been removed, the validator checks a short property list of its own and adds a note that the rich result is gone. Google’s updates log records the HowTo documentation removed on 14 September 2023 and the FAQ documentation removed on 15 June 2026, with the feature “no longer shown” in Search.
The validator opens with an Article block: a headline, one image URL, datePublished and dateModified
in ISO 8601, and an author Person with name and url. It reports “Valid JSON”, @context
https://schema.org, @type Article, and all five recommended properties present. Delete the
image line and image turns to “missing (recommended)”, not a failure, because Google lists no
required Article properties. Change @type to Product instead and you get two required failures:
name, and one of review, aggregateRating or offers.
<script> wrapper is HTML, so the parse fails on the first
character. Paste only what is inside it.What it cannot check is whether the markup matches the page. Google warns against marking up information that is not visible to users, even if accurate. Test the live URL in Google’s Rich Results Test before relying on a result.
Copy the text inside the page's script type="application/ld+json" tag, without the tag itself, and paste it into the box. The validator parses it as it changes (or when you press Validate), shows any syntax error with its location, then lists which of Google's documented properties are present for the detected @type.
No. It means the block parses and carries the properties Google documents for that type. Google says structured data does not guarantee a rich result, and eligibility also depends on policies such as marking up only content visible to users. For FAQPage and HowTo, the rich result no longer exists.
Because Google's documentation says so: "There are no required properties." headline, image, author, datePublished and dateModified are recommended, so the validator marks a missing one as recommended rather than as a failure. Organization works the same way.
Article, Product, FAQPage, HowTo, Organization, BreadcrumbList and Recipe. A different @type still gets the syntax, @context and @type checks, with a note that no property table exists for it. For JobPosting, use the dedicated JobPosting schema checker.
The validator reads @type from the top-level object only. A block that wraps several entities in @graph has no top-level @type, and a top-level array is rejected outright. Paste each entity as its own object to check it.
AggregateRating schema checker: test JSON-LD against Google review snippet rules for ratingValue, counts, scale and item type. Free, runs in your browser.
Logo structured data generator: build Organization JSON-LD with logo, url, name and sameAs, and check Google's logo rules. Free, runs in your browser.
Course schema validator: paste Course JSON-LD and check name, description, provider and the 60 character display limit. Free, runs in your browser.
FAQ schema validator: check FAQPage JSON-LD so every Question has a name and acceptedAnswer text. Notes Google's FAQ rich result removal. Free, in-browser.