Schema.org / JSON-LD Validator

Validate the structured data on any URL — syntax, @context, @type, and which schema types are present.

Why Structured Data Matters

Schema.org markup in JSON-LD tells search engines and AI assistants what a page is about in a form they do not have to guess at: this is a product with this price, this is an article by this author, this is a business at this address. It is also what makes a page eligible for rich results such as review stars, breadcrumbs and product details. If a JSON-LD block has a syntax error, the entire block is ignored and you lose all of it without any error on the page itself.

What This Tool Checks

How to Read the Results

A Minimal Valid Block

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Example Co",
  "url": "https://example.com/"
}
</script>

More Free Tools

Check a page's title, description and social tags with the meta tag checker, or test crawl rules with the robots.txt tester. Draft an llms.txt with the llms.txt generator, or browse all free tools.

Want Full Schema Scoring?

The SEO Audit API runs deep multi-tier schema validation as part of 80+ checks, scored. Free tier available.

Frequently Asked Questions

What does this schema validator check?

It loads the URL, finds every script block of type application/ld+json, and for each one reports whether the JSON parses, whether @context is present, whether a @type is declared, and which schema.org types it found, including the nodes inside an @graph array.

Does it tell me if my page qualifies for rich results?

No. It checks that the markup is well formed and lists what is there. It does not check the required and recommended properties Google asks for per type, such as an offer price on a Product. For eligibility use Google's Rich Results Test; the SEO Score API scores structured data as part of a full audit.

Does it validate Microdata or RDFa?

No, only JSON-LD. JSON-LD is the format Google recommends and the one most CMS plugins write. Markup written as Microdata or RDFa attributes is not read by this tool.

What happens when a JSON-LD block has a syntax error?

A parser cannot read any of it, so the whole block is ignored and everything it described is lost. A trailing comma, an unescaped quote inside a string, or a smart quote pasted in from a word processor is usually the cause. The tool shows the parser's message for each broken block.

What is an @graph?

It is a way to put several linked entities in one JSON-LD block, such as an Organization, a WebSite and a WebPage that refer to each other by @id. Yoast SEO and Rank Math both write their markup this way. The top-level object has no @type of its own, and that is correct.

Why does it say no JSON-LD was found when my page has schema?

Either the markup is Microdata or RDFa, or it is added by JavaScript after the page loads. This tool reads the HTML as served and does not run scripts.