SEO

Structured data validator

Find every JSON-LD, Microdata and RDFa block on a page, check that it parses, and see which rich-result requirements each entity meets.

30 checks a day, 20 an hour · results are kept for 24 hours, then deleted

How to use it

  1. Enter the address you want to checkType or paste it into the field marked "Address to check", including the https:// at the front. Point it at a page you have added structured data to — a product, an article, a recipe, a FAQ.
  2. Press Check and wait a few secondsThe request runs from our server rather than from your browser, so your cache, your extensions and your login session cannot affect the answer. That is the point of it: you are seeing what an anonymous visitor sees.
  3. See what was found and in what formatJSON-LD, Microdata and RDFa are all reported. Most sites should be using JSON-LD; finding two formats describing the same thing is worth knowing, because they can disagree.
  4. Fix errors before you look at warningsAn error means a required property is missing or has the wrong type, and the block will not be understood. A warning is a recommended property that is absent — the block still works without it.
  5. Remember that valid is not the same as eligibleThis tool tells you the markup is correct. It cannot tell you a rich result will appear, and nothing honest can — that is the search engine's decision, made per query. Any tool promising eligibility is guessing.
  6. Share or keep the result within 24 hoursThe result has its own link you can send to whoever needs to act on it. It is deleted 24 hours after the check ran, so save anything you need to keep — and re-run the check after a change rather than trusting an old link.

About this tool

Structured data is markup that tells a search engine what a page is about in a form it does not have to interpret: this is a product, that is its price, this is the review score. It is what makes rich results — star ratings, recipe cards, FAQ accordions — possible at all.

This tool finds every JSON-LD, Microdata and RDFa block on a page, checks that each one actually parses, and measures each entity against the properties Google documents as required for its type.

Understanding the result

A block that does not parse gives a consumer nothing at all — not partial data, nothing. The failing markup is shown so you can find the line, and the usual cause is a trailing comma or a template that emitted an empty variable.

Missing required properties mean a type cannot qualify for its rich result. Nothing reports this to you: the result simply never appears.

Types our requirements table does not cover produce no verdict at all. Saying nothing is deliberate — inventing a requirement would send you to add a property Google never asked for.

Eligible is not the same as shown. Google decides whether to display a rich result and guarantees nothing, so the tool never promises one.

Example

Input

https://example.com/product/widget

Output

2 entities in 1 JSON-LD block: Product, Offer
Product — meets required properties (name)
Offer — missing required: priceCurrency
Recommended and absent: aggregateRating, brand

Limitations

  • Read from the raw HTML. Structured data injected later by a tag manager is seen by Google, which renders pages, but not by consumers that do not render.
  • Our requirements table covers the common types and is versioned; every verdict carries the version that produced it. Google changes these requirements, sometimes without announcement.
  • This checks that properties are present, not that their values are true. Markup claiming a five-star rating on a product with no reviews will pass here and can still earn a manual penalty.
  • Very large graphs are bounded — counts stay exact, but the listed entities stop at a readable number.

Questions

Do I need structured data?

No. It is optional, and a well-written page without it is a perfectly good page. What it does is state what the page is rather than leaving a search engine to infer, and it is the entry requirement for rich results. This tool reports its absence as an opportunity, never as an error.

Which format should I use — JSON-LD, Microdata or RDFa?

JSON-LD. Google recommends it, and it sits in a single script tag rather than being threaded through your markup, which means changing your page design cannot accidentally break it.

My markup is valid but no rich result appears. Why?

Valid markup makes you eligible; it does not oblige Google to show anything. Common reasons are missing a required property, a type Google does not show rich results for, a manual action for markup that does not match visible page content, or simply Google choosing not to for that query.

Can I mark up content that is not visible on the page?

No. Google requires structured data to describe content a visitor can actually see. Marking up a rating that appears nowhere on the page is a documented violation and risks a manual penalty against the whole site.

Last updated 2026-08-16.

Related tools