How to use the structured data validator
- Paste HTML or JSON-LD, or switch to URL mode and enter a page address.
- Select Validate.
- Fix JSON parse errors first; the line and column are shown.
- Review each entity for missing required and recommended properties and value problems, then confirm with Google’s Rich Results Test.
Worked example
Product with two common mistakes
A Product with "image": "/images/shoe.jpg" and an Offer with "price": "$89.99" parses correctly, but the validator reports 1 error (price must be a plain number such as 89.99) and 1 warning (image is not an absolute URL), and lists description, brand, sku and GTIN as missing recommended properties.
How it works
JSON-LD blocks are extracted from <script type="application/ld+json"> elements and parsed; parse errors report line and column. Every typed entity (including inside @graph and nested objects) is checked against rules derived from Google’s structured data documentation, plus value checks: ISO 8601 dates and durations, numeric prices, 3-letter currency codes, absolute URLs, empty values and missing @context. Microdata and RDFa are detected by attribute scan.
Assumptions
- http://schema.org and https://schema.org contexts are both accepted.
- Only JSON-LD properties are validated in depth.
Frequently asked questions
Is this the same as Google’s Rich Results Test?
No. It is an independent check that runs our own rules. Use it to catch common mistakes quickly, then confirm with Google’s Rich Results Test and the Schema.org validator.
Why does it not see my markup?
In URL mode we read the raw HTML without running JavaScript. If a plugin or tag manager injects the JSON-LD with JavaScript, paste the rendered HTML instead or use Google’s test.
Are missing recommended properties errors?
No. Only missing required properties can stop a rich result. Recommended properties add detail and are worth adding when the information is true and visible on the page.
Do you store the URLs I check?
No results are stored. The URL is fetched from our server only to produce the report, and requests are rate limited per visitor to prevent abuse. Private, local and reserved network addresses are refused.
Limitations
- Rules cover common types; other types get general value checks only.
- Microdata and RDFa are detected but not validated.
- URL mode is limited to 30 checks per visitor every 10 minutes.