Get your AI Visibility Score

Free tool

Schema Validator and Preview

Paste your JSON-LD, or the whole page source, and see what a search engine reads back. Errors and warnings in plain English, not spec language. Runs entirely in your browser: nothing is sent anywhere.

Key takeaways

  • What does this tool do? It parses your JSON-LD, checks it against the properties Google documents, and explains every error and warning in plain English.
  • Do I paste code or a URL? Code. Paste the JSON-LD itself or the whole page source, and every ld+json block in it is checked.
  • What does it check for? Valid JSON, correct context and type, required properties, date and URL formats, empty values and the structure of FAQ and breadcrumb blocks.
  • What can it not tell me? Whether the markup is true. Schema describing an address you do not occupy validates perfectly and can still earn a manual penalty.

Paste your markup

What a search engine reads

Paste your markup and press Validate.

What this checks. That the JSON parses, that the context and type are present and spelled correctly, that the properties Google documents as required for that type are there, that dates and URLs are the right shape, and that nothing is an empty string pretending to be a value.

What it cannot check. Whether your markup is true. Schema that describes a business at an address it does not occupy, or reviews nobody wrote, will validate perfectly and can still earn a manual penalty. Structured data is a description of the page, not a wish for it.

Need the markup first? The Schema Markup Generator writes it for you.

Questions about this tool

Because reading someone else's URL requires a server to fetch it, and a tool that fetches any address a stranger types is an open proxy. Pasting the code keeps everything on your own device and keeps the tool honest about what it does.

Open the page, view source, and search for application/ld+json. Copy everything between the script tags, or simply paste the entire page source here and let the tool find the blocks.

This tool checks structure and the documented required properties. Google additionally checks eligibility rules for specific rich results, which change over time. Treat a clean result here as the first gate, not the last.

An empty string. A property written with no value is worse than leaving the property out, because it tells the engine the value is genuinely blank.

Yes. Blocks using @graph are expanded and every node inside is checked separately.

No. The tool is JavaScript running in your browser. Nothing is transmitted.