Paste JSON-LD or HTML instead
Data found
Google’s Rich Results Test and the schema.org validator are the reference: this tool compares your markup with the documentation, it does not say whether Google will show a rich result.
How to use the tool
Paste the full address of a page and click “Check”. The tool downloads the page the way a browser would, follows redirections to the destination and keeps only the structured data blocks of the HTML: the server does not send the whole page back to you. If the page is protected, or if you want to test markup before publishing it, open “Paste JSON-LD or HTML instead”.
Each block found gets its own card: syntax status, structure alerts, then a paragraph per type with the missing properties, required ones first. The folded property tree shows what the tool actually read, which helps to spot a badly nested value. The tool reads up to 60 blocks per page and counts one request per address.
The three formats the tool reads
Google accepts three formats: JSON-LD, microdata and RDFa. It treats them as equivalent as long as the markup is valid and follows the documentation of the targeted feature, and it recommends JSON-LD: a <script> block separate from the visible text, which suits nested data and is the easiest to maintain at scale.1 The tool handles the three the same way: it converts microdata (itemscope, itemtype, itemprop) and RDFa (typeof, property) into objects shaped like JSON-LD, then applies the same checks.
For JSON-LD it also reports what belongs to the structure of the block: a missing @context or one that is not schema.org, an object with neither @type nor @graph, an @id defined twice, a reference to an @id the block does not define. Valid references between objects of the same @graph are resolved before the comparison: an author returned by {"@id": "#me"} counts as present, with the properties of the object it points to.
Finding the line of a syntax error
A trailing comma after the last property, a typographic quote, a comment: JSON is strict, and a single faulty character invalidates the whole block. When the browser reports the position of the error, the tool converts it into a line and column number inside the block and shows that line. The browser’s original message stays visible underneath, in English. A block with an error is not compared with Google’s properties: fix the syntax first.
What Google lists for each type
For the types that open a rich result, Google’s documentation separates required properties, without which the page is not eligible, from recommended properties, which enrich the display. The table below reproduces what Google’s pages say for each type; the tool compares your markup with those lists, nested paths included.2
| Type | Required | Recommended (extract) |
|---|---|---|
| Article, NewsArticle, BlogPosting3 | none | headline, image, datePublished, dateModified, author, author.name, author.url |
| BreadcrumbList / ListItem4 | itemListElement (at least 2 items); position, name, item | none |
| LocalBusiness5 | name, address | url, telephone, geo, openingHoursSpecification, priceRange, aggregateRating, review… |
| Organization6 | none | name, legalName, url, logo, sameAs, address, contactPoint, telephone, email… |
| Product7 | name, and one of review, aggregateRating or offers | offers, aggregateRating, review |
| Offer (inside Product)7 | price | priceCurrency, availability, priceValidUntil |
| Review8 | author, reviewRating.ratingValue, itemReviewed (unless the review is nested) | datePublished, reviewRating.bestRating, reviewRating.worstRating |
| AggregateRating8 | ratingValue, ratingCount or reviewCount, itemReviewed (unless nested) | bestRating, worstRating |
| Event9 | name, startDate, location, location.address | endDate, description, image, eventStatus, offers, organizer, performer… |
| Recipe10 | name, image | author, datePublished, description, recipeIngredient, recipeInstructions, prepTime, cookTime, totalTime, recipeYield… |
| VideoObject11 | name, thumbnailUrl, uploadDate | description, contentUrl, embedUrl, duration, expires, creator or author… |
Three remarks on this table. Article and Organization have no required property: Google asks you to add the ones that match your content. In a breadcrumb, item may be omitted on the last element, in which case Google uses the page address. For a Product, any one of review, aggregateRating or offers is enough.47 Subtypes of LocalBusiness, Organization and Article are recognised for a common list (Restaurant, Store, NewsArticle, BlogPosting and a few others); the full schema.org vocabulary has many more.
The limits of the tool
Following the property list does not guarantee a display: Google also requires the markup to describe content visible on the page, the information to be up to date and reviews to be genuine user reviews. Markup that breaks these rules risks a manual action, which removes eligibility for rich results without changing the ranking in web search.2 The tool reads code, it does not compare the markup with the displayed content.
Google’s Rich Results Test remains the reference to know whether a page is eligible, and the schema.org validator checks the markup against the full vocabulary.112 Use the tool to sweep a page quickly, read the tree and spot the gaps, then confirm with those two services.
Another limit: the tool reads the HTML as the server sends it, without running JavaScript. Markup injected by a script after loading does not show up; copy the code from your browser’s inspector and paste it instead. Finally, FAQ is no longer in Google’s search features gallery:13 a FAQPage block is read and its tree displayed, but it has no property table.
After the check
To write clean markup rather than repair broken markup, the structured data generator produces the JSON-LD for LocalBusiness, Article, breadcrumbs and FAQ with the fields Google expects. The article on structured data and rich snippets explains which types are worth adding. And when a whole site has to be reworked, type by type and template by template, that is the job of an SEO consultant.
Frequently asked questions
Does the tool replace Google’s Rich Results Test?
No. Google’s test says whether a page is eligible for a rich result, and the schema.org validator checks markup against the full vocabulary. This tool compares your markup with the properties Google’s documentation lists and shows the tree it read. It helps you spot gaps quickly, before confirming with those two services.
Why does my JSON-LD block show a syntax error?
The most common causes are a comma after the last property, typographic quotes instead of straight quotes, a comment inside the JSON or a missing brace. The tool shows the line and column when the browser provides them, with the original message.
Why does one type in my markup have no property table?
The table exists only for the types whose Google documentation lists required or recommended properties: Article, BreadcrumbList, LocalBusiness, Organization, Product, Review, AggregateRating, Event, Recipe and VideoObject. Other types, such as WebSite or Person, are read and shown in the tree without a comparison.
Why is my FAQPage not compared?
FAQ is no longer in Google’s search features gallery. The block is read, its syntax is checked and the tree is shown, but no Google property list serves as a reference.
Does the tool run the JavaScript of the page?
No. It reads the HTML as the server sends it. If a script adds your markup, copy the code from your browser’s inspector, open “Paste JSON-LD or HTML instead” and paste it.
How many requests does the tool use, and what happens to what I paste?
One request per checked address, on a quota of 20 per 10-minute window and per visitor, shared with the other tools on the site. Pasted text is analysed in your browser and sent nowhere. For an address, the server keeps neither the address nor the content.
Sources
The passages of this page that rely on a source point to one of these references.
- Google Search Central, “Intro to how structured data markup works”. developers.google.com ↑
- Google Search Central, “General structured data guidelines”. developers.google.com ↑
- Google Search Central, “Article structured data”. developers.google.com ↑
- Google Search Central, “Breadcrumb structured data”. developers.google.com ↑
- Google Search Central, “Local business structured data”. developers.google.com ↑
- Google Search Central, “Organization structured data”. developers.google.com ↑
- Google Search Central, “Product snippet structured data”. developers.google.com ↑
- Google Search Central, “Review snippet structured data”. developers.google.com ↑
- Google Search Central, “Event structured data”. developers.google.com ↑
- Google Search Central, “Recipe structured data”. developers.google.com ↑
- Google Search Central, “Video structured data”. developers.google.com ↑
- Schema.org, markup validator. validator.schema.org ↑
- Google Search Central, “Structured data markup that Google Search supports”. developers.google.com ↑