JSON-LD validator

Paste a JSON-LD block, or the whole <script> tag, to check it in three passes: valid JSON, correct @context and @type, and the properties Google requires for the rich result that type can earn. Arrays and @graph blocks are split into separate items.

Valid1 item found
  • Recommended property "description" is missing.
  • Recommended property "brand" is missing.

What it checks

  • Syntax. A trailing comma or a smart quote makes the whole block unreadable to search engines. The error message gives the line and column.
  • Context and type. Every item needs "@context": "https://schema.org" (directly or from its graph) and a @type.
  • Required and recommended properties for Article, Product, FAQPage, HowTo, Event, LocalBusiness and its subtypes, BreadcrumbList, JobPosting, Recipe, Review, AggregateRating, VideoObject, SoftwareApplication, Course and more. Each result links to the page for that type, which has the full property table and a working example.

It does not fetch URLs or check that the markup matches visible content, which Google also requires. For a final check, use Google's Rich Results Test on the live URL.

Errors versus warnings

A missing required property makes the item ineligible for its rich result. A missing recommended property is a warning: the markup still counts, but you lose optional details like ratings or prices. Some types, such as Organization and WebSite, have no required properties but still help search engines and AI systems understand the site.

Common mistakes

  1. Marking up content that is not on the page, like reviews that are nowhere visible.
  2. Using http://schema.org inside a mixed setup, or misspelling a type (LocalBussiness).
  3. Putting prices as numbers with currency symbols ("$49") instead of "49.00" plus priceCurrency.
  4. Two plugins printing competing Product or Organization blocks for the same page.

The free audit shows which schema types a live page already prints.

Common questions

Is valid JSON-LD guaranteed a rich result?

No. Valid, eligible markup makes a page able to get a rich result, but Google decides per query whether to show one. Several types, such as FAQ and HowTo, are now limited or retired for most sites.

Does this replace Google's Rich Results Test?

No. Use this tool while writing markup, since it is instant and shows every missing property. Use Google's test on the published URL as the final word.

Can I validate microdata or RDFa here?

No, only JSON-LD. It is the format Google recommends, and the one most WordPress plugins print.