Free tool · Paste code or a URL

Schema markup validator

Check JSON-LD against Google’s required and recommended properties for Product, LocalBusiness, Article, Event, Recipe, Video, JobPosting, Course, Breadcrumb, FAQ and Organization — and catch the value errors that silently cost you rich results.

Updated

Samples:

No errors — valid for the checked types

1 block · 3 items · 0 warnings

Product

Checked against Google’s documented required and recommended properties. Valid markup is eligible for rich results but Google does not guarantee them. Confirm with the Rich Results Test.

What it checks

  • JSON syntax for every block, with the parser’s error message.
  • @context — without it, the block isn’t read as Schema.org at all.
  • Required properties per type, following Google Search Central’s structured data documentation.
  • Recommended properties on top-level items. Nested references (like a variant link) are not flagged.
  • Values: ISO 8601 dates, numeric prices, ISO 4217 currency codes, rating ranges, absolute URLs.
  • Placeholders left over from templates, such as example.com or “Your Company”.
  • Retired features like HowTo, and the current limits on FAQ rich results.

The five JSON-LD mistakes we see most

  1. Prices with symbols: "price": "$1,299" must be "1299.00" with "priceCurrency": "USD".
  2. Local date formats: 19/10/2026 must be 2026-10-19.
  3. Relative image URLs: /img/shoe.jpg should be the full https:// address.
  4. Ratings without counts: AggregateRating needs ratingCount or reviewCount.
  5. Markup that doesn’t match the page: prices, ratings or FAQs in JSON-LD that visitors can’t see violate Google’s guidelines.

Need to write the markup first?

Use the JSON-LD generators to build Product, LocalBusiness, Article and other types from a form, then paste the result here.

Frequently asked questions

How do I test my schema markup?

Paste the JSON-LD, the full <script type="application/ld+json"> tag or the whole page source above — or switch to “Fetch a URL”. Every item is checked, including nested items and everything inside @graph.

What is the difference between an error and a warning?

An error is a property Google lists as required for that rich result type, or a value Google cannot parse (for example a price with a currency symbol or a date that is not ISO 8601). Errors make the item ineligible. Warnings are recommended properties that make the result richer but are not required.

My schema is valid. Why don’t I get rich results?

Valid markup makes a page eligible, not guaranteed. Google also considers site quality, whether the markup matches visible content, and its own policies. Some types have been restricted: FAQ rich results are shown only for well-known government and health sites, and HowTo rich results were retired in 2023.

How is this different from Google’s Rich Results Test?

Google’s test is the authority for Google eligibility and renders JavaScript. This validator is faster, works on pasted snippets, explains each problem in plain language and adds data-quality checks such as placeholder text and relative URLs. Use this while editing, then confirm in Google’s test before publishing.

Does the URL mode see schema added by JavaScript?

No. It reads the HTML your server returns — the same thing most AI crawlers see. If your schema only appears after JavaScript runs, Google can still read it, but many other consumers cannot; server-rendered JSON-LD is safer.