Skip to content

Schema Markup Validator

Paste a JSON-LD block — raw or wrapped in its <script> tag — and get it checked for valid syntax, a real schema.org context, and the specific required fields for FAQPage, Article, Product, Review, HowTo, LocalBusiness, BreadcrumbList, Event, Organization and Course, the exact types this site's own generators produce.

  • Accepts raw JSON-LD or the full <script> tag
  • Deep field checks for FAQPage, Article, Product, Review, HowTo, LocalBusiness, BreadcrumbList, Event, Organization and Course
  • Handles @graph arrays of multiple nodes
  • Structural checks for any other schema.org type
  • Runs fully client-side

Validator

Checked locally, nothing uploaded

    How to validate schema markup

    1. 01

      Paste the JSON-LD

      Paste the raw JSON object, or the whole <script type="application/ld+json"> tag — both work.

    2. 02

      Fix syntax errors first

      A malformed JSON document is checked before anything else, since nothing past that point can be evaluated.

    3. 03

      Work through the field checks

      Errors are missing required fields; warnings are recommended-but-not-required fields; info notes explain what was and was not checked.

    Why "valid JSON" is the easy 5% of validation#

    A JSON-LD block can be perfectly well-formed JSON and still be worthless structured data — a Product with no price, an Article with no author, a FAQPage question with no answer text are all syntactically valid JSON that Google's own documentation specifically calls out as required fields. This tool checks both layers: first that the JSON parses at all, then that the specific fields each schema type actually needs are present and non-empty.

    Why only some types get deep field checks#

    Schema.org defines hundreds of types, each with its own set of required and recommended properties according to Google's documentation — encoding all of them correctly would be its own multi-month project, and getting a rule subtly wrong is worse than not checking at all. This tool deeply validates the types this site's own generators produce — FAQPage, Article/NewsArticle/BlogPosting, Product, Review, HowTo, LocalBusiness, BreadcrumbList, Event, Organization and Course — where the rules are implemented and tested carefully. Any other type still gets the universal checks (valid JSON, a real @context, a non-empty @type) plus a clear note that deeper field rules were not applied for that type, rather than a false sense of a full pass.

    Why it accepts either the raw object or the full script tag#

    Copying structured data out of a live page usually means grabbing the whole <script type="application/ld+json">...</script> block, tags included — retyping or hand-trimming it before pasting is friction nobody needs. This tool detects and strips that wrapper automatically, so pasting either the bare JSON or the complete tag works identically.

    Frequently asked questions

    Does this check every schema.org type in depth?

    No — deep field validation is implemented for FAQPage, Article/NewsArticle/BlogPosting, Product, Review, HowTo, LocalBusiness, BreadcrumbList, Event, Organization and Course, the types this site's own generators produce. Any other type still gets structural checks (valid JSON, a real @context, a non-empty @type) with a clear note that field-level rules were not applied.

    Can I paste the whole <script> tag, or does it need to be just the JSON?

    Either works — the tool detects and strips the surrounding <script type="application/ld+json"> wrapper automatically if it is present.

    Does it handle multiple schema nodes in one @graph?

    Yes — each node inside an @graph array is validated independently, and the result shows which specific node an issue belongs to.

    Is this the same as Google's Rich Results Test?

    No — Google's tool actually renders the page and confirms eligibility for specific search features, which requires a live URL and a server. This tool checks syntax and required-field completeness offline, which is a useful earlier step before testing against a live page.

    Is my schema data sent anywhere?

    No. Validation runs entirely in your browser — nothing you paste is uploaded.