Schema Validator

Loading tool…

About Schema Validator

Enter a public URL and click Validate schema. We extract script type=application/ld+json, flatten @graph, and group identical findings. Header counts are distinct issues, with occurrence totals when the same warning hits many nodes. A node with no @type is an error. Malformed JSON is an error with the parse message and line or column when the parser reports a position.

Microdata and RDFa are counted if present; full required and recommended checks run on JSON-LD. This is structure, not Google eligibility. After you fix JSON-LD, test the same public URL in Google's Rich Results Test.

When to use it

Use it after you paste new JSON-LD, when Google's Rich Results Test is still empty, or when a plugin added a second Organization block and you need the grouped issue list on the live URL.

There is no paste-JSON mode. The script must already be on a public page. It is not Google's eligibility tester.

How to use Schema Validator

  1. 1Enter a public URL. The page must be reachable over http(s). Localhost is blocked.
  2. 2Click Validate schema. Identical errors, warnings, and passes collapse into one row with an affected-node count.
  3. 3Open a node when you need the JSON. Each block still has raw JSON. Missing @type is an error on that node.
  4. 4Fix and re-test in Google's tool. Paste the same public URL into Google's Rich Results Test for eligibility.

What we check

Full field rules cover Article, BlogPosting, NewsArticle, FAQPage, HowTo, Product, Recipe, Event, LocalBusiness, Organization, Person, BreadcrumbList, WebSite, VideoObject, Review, AggregateRating, JobPosting, Course, SoftwareApplication, ItemList, ImageObject, and WebPage, plus common subtypes (for example Restaurant as LocalBusiness). Other schema.org types get a warning that we do not fully check. Unknown @type is a warning.

@context must be schema.org. Dates need ISO shape; dateModified before datePublished is flagged. ImageObject width under 1200 pixels is a warning. Offer availability must be a full schema.org URL. Duplicate nodes of the same @type on one page are flagged.

How to read the results

The header is a JSON-LD report. Counts are distinct issues, with occurrence totals when the same warning hits many nodes. Missing @type is an error. Malformed JSON is an error with line or column when the parser reports it. Recommended-property misses are warnings.

example.com is No JSON-LD found. github.com added RDFa detected (8 nodes) and still no JSON-LD. apple.com parsed Organization, WebSite, and WebPage: two missing recommended description nodes, missing publisher, and RDFa detected (12 nodes). Microdata and RDFa are counted only.

Why this matters

A node without @type is not a schema.org entity. Crawlers cannot classify it, so required-field rules never run. That is why missing @type is an error and a typo in @type is only a warning (unknown type).

A pass here means the JSON we fetched matches our field rules. Rich results still have extra policies, which is why the page tells you to finish in Google's Rich Results Test. Duplicate @type blocks on one URL often cancel each other in that later test.

Limits and privacy

One public URL. Loopback and reserved IPs are rejected. About 20 Validate schema runs per minute on your network. JSON is not a paste field. HTML is discarded after the report. No login.

Common mistakes

Reading a pass as a guarantee of rich results. Eligibility is a different product.

Pasting JSON into the URL field. Validate schema only fetches a public page.

Ignoring RDFa detected when JSON-LD is empty. github.com looks structured in the browser and still reports No JSON-LD found.

FAQs

Does a pass mean rich results?
No. We check structure and common value rules. Eligibility has extra policies.
What if @type is missing?
Error. The node is not listed as a type named Unknown. Typos in @type are still warnings.
Are Microdata and RDFa fully checked?
They are detected and counted. Required and recommended property checks run on JSON-LD.
What about malformed JSON?
That block is an error with the parse message and line or column when the engine reports a position.
Can I paste JSON without a URL?
Not on this page. Put the script on a public URL, then Validate schema.
Why did example.com say No JSON-LD found?
There is no script type=application/ld+json in the first HTML. github.com is the same plus RDFa detected (8 nodes). apple.com is the filled case: Organization, WebSite, and WebPage with recommended-property warnings.
What do the header counts mean?
They are distinct issues, not raw node rows. Occurrence totals rise when the same warning hits many nodes, such as Missing recommended property: description (2 nodes) on apple.com. Open a block for the raw JSON.
Does Validate schema execute JavaScript?
No. JSON-LD injected after paint is missed. A client-only app can show No JSON-LD found while DevTools Elements later shows a script. View the first HTML source.