Schema validator that checks the things other validators skip

Most validators answer one question: does this parse. That is the easiest part. The failures that actually cost you are a broken @id graph, required properties nobody noticed were missing, and markup that describes content the visitor cannot see. This checks all three, and tells you the line and column when something is wrong.

Free, no signup. We check the URL you enter, nothing else.

What this finds that Google's own test will not tell you

  • Whether your @id graph actually resolves. If a page references an entity by @id that is never defined, the link goes nowhere. If the same @id is declared twice as two different types, a parser has to pick one and drop the other. If your brand is written out in full on every page instead of declared once and referenced, search engines can read that as many separate entities and split the signals you are trying to consolidate. No free validator checks any of this.
  • The exact character that broke your JSON. "Syntax error" is not a diagnosis. We report the line, the column and the cause: a curly quote pasted from Word, a trailing comma, a plugin printing HTML inside the block, an unclosed string.
  • Required versus recommended, kept separate. Missing a required property means no rich result at all. Missing a recommended one means it may simply never be chosen. Those are different problems and most tools lump them together.
  • Markup that contradicts the page. Google requires marked-up content to be visible to the visitor. We compare your schema against the readable text and flag FAQ questions that are not on the page, ratings no one can see, prices that do not appear, and headlines that do not match your H1. This is the category that turns into a manual action, and it is invisible to a validator that only reads the markup.

Use Google's Rich Results Test as well. It is the authority on whether a specific rich result is eligible today. It just will not tell you your graph is broken.

Built by Indraa Kumar D at Apex Influence. Want everything at once? Run the Master SEO Tool. Related: AI Readiness Checker, SEO Checker, all free tools.

Questions people ask about structured data

What is an @id graph and why does it matter?

@id gives an entity a stable identifier so the rest of your markup can point at it instead of describing it again. Done well, every page says the same Organization is behind it, and the signals consolidate. Done badly, the same brand is written out in full on forty pages as forty separate entities, or a page references an @id that is never defined anywhere, so the link goes nowhere. Almost no free validator checks whether those references actually resolve, which is why broken graphs survive for years.

Why does valid schema still not produce a rich result?

Validity is the floor, not the bar. An item can parse perfectly and still be missing the recommended properties Google uses to decide whether the rich result is worth showing, such as an image on an Article or an availability on an Offer. Separately, if the marked-up content is not visible on the page, Google can ignore it or treat it as a policy violation even though it validates.

Does structured data have to match what is on the page?

Yes. Google's structured data guidelines require the marked-up content to be visible to users on that page. FAQ questions that appear only in the markup, ratings no visitor can see, and headlines that do not match the H1 are all common violations. This checker compares the markup against the readable text of the page and tells you where they disagree. That is also why this section exists in plain sight rather than only in our own JSON-LD.

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

No, and you should use both. Google's test is the authority on whether a specific rich result is eligible right now. It will not tell you that your @id references are dangling, that your brand is declared as six separate entities, or that the FAQ you marked up is not on the page. Those are the failures that quietly cost you, and they are what this tool is built to find.