Schema Markup Checker
The structured data your page publishes, and whether it holds together. Broken structured data fails silently — the page looks perfect and the markup is simply ignored — so nothing tells you until you look.
What this checks
- Every JSON-LD block on the page, including the objects inside an @graph, which many tools miss entirely.
- Whether each block is valid JSON. One stray comma and the whole block is ignored by everything that reads it.
- Required properties for the common types, and properties that are present but empty — which looks complete to you and is ignored by everything else.
- Microdata types declared with itemtype attributes, reported as found.
What this cannot tell you
- Valid markup does not mean a rich result. Google decides that per page and per query, and no tool reading your HTML can tell you what it will do.
- We check required properties for the common types, not the whole of schema.org. A type we do not know is reported as found rather than checked.
- RDFa is not parsed, and microdata is reported by type only — its properties are spread across the page rather than held in one object, and claiming to have checked them would be claiming a parse that did not happen.
Questions people ask
Will adding schema get me a rich result?
It makes you eligible. Google decides the rest, per page and per query, and plenty of pages with perfect markup never get one. Valid structured data is a condition rather than a cause, and anybody promising the result is promising something that is not theirs to give.
My structured data looks fine but nothing uses it.
Check it is valid JSON first — a single trailing comma makes the whole block invisible, and the page looks completely normal. After that, the usual cause is a required property missing or present but empty, which this tool lists per type.
JSON-LD or microdata?
JSON-LD, for anything new. It sits in one block in the head, it is independent of your page layout, and it survives a redesign. Microdata is woven through the markup itself, which means it breaks whenever somebody rearranges the page.