See if ChatGPT recommends you. Free, 60 seconds.
Free SEO Tool

Free Schema Markup Validator

Check any URL or paste your JSON-LD to see which properties Google requires, what is missing, and whether the page qualifies for rich results. No sign-up required.

Try: , ,

How to validate schema markup in 3 steps

This schema validator online reads the structured data on any public page, or from markup you paste, and tells you what Google needs that you have not supplied. No install, no account.

1. Enter a URL or paste markup

Check any live page, or paste JSON-LD straight from your editor before you ship it. Both a bare JSON object and a full script tag are accepted.

2. See every block it finds

This schema validator reads all JSON-LD on the page, including nested nodes inside @graph and objects like Product to Offer, which is where most missing properties actually hide.

3. Fix what blocks the rich result

Missing required properties are flagged as errors, recommended ones as warnings, so you can tell what stops a rich result from what merely makes it thinner.

Valid schema is not the same as rich result eligible

This is the gap most validators leave open, and it is why people end up confused. Schema.org itself marks almost nothing as required. You can publish a Product with only a name and it is perfectly valid schema.org. Google will still refuse to show a product rich result, because Google maintains its own separate list of properties it requires per type.

So a tool that validates against schema.org alone can tell you your markup is fine while your rich result never appears. This validator checks against Google's documented requirements instead, and splits the output in two: errors are properties Google requires, which will block the rich result, and warnings are properties Google recommends, which usually make the result show more detail.

It also walks nested nodes rather than only the outermost object. Most real markup nests: a Product contains an Offer, which has its own required price and priceCurrency, and a page-level @graph can hold half a dozen types. Validating only the top level misses exactly the errors that most often block a result.

How this compares to the Rich Results Test

Google's Rich Results Test is the authoritative check, and you should run it before launch. It is Google deciding, against its own live rules, on its own rendering of your page. Nothing else can replace that verdict, and this tool does not claim to.

What a separate structured data testing tool is better at is the middle of the job, and it is why a standalone schema validator tool still earns its place. You can paste markup that is not deployed anywhere yet, iterate quickly, and get a plain statement of which property is missing and whether it is required or merely recommended. It is also the faster way to audit a competitor's page or to check several URLs in a row.

The old Structured Data Testing Tool that Google retired is worth a note here too, since plenty of people still search for it as the google schema validator or the schema markup testing tool. It validated against schema.org broadly rather than against Google rich result rules. The schema.org validator inherited that job and is still the right tool when your question is whether the markup is valid schema.org rather than whether Google will act on it.

A note on JSON Schema, which is something else entirely

Worth stating plainly, because the search results for these terms mix two unrelated things together. JSON Schema is a specification for describing and validating the shape of JSON documents, used to check that an API response has the right fields and types. It has nothing to do with search engines.

Schema.org is a shared vocabulary for describing things on the web so search engines understand them. That is what this page validates. If you arrived looking for a way to check a JSON document against a contract, you want a JSON Schema validator, and this is not it.

Frequently asked questions

What is a schema markup validator?
A schema markup validator reads the structured data on a page and checks it against what search engines expect. Structured data is extra machine-readable markup, usually JSON-LD, that tells Google what a page is about: that this is a product with a price, or a recipe with a cook time. A validator confirms the markup parses, identifies which types you have used, and flags properties that are missing.
What is a schema validator?
The same thing, and the terms are used interchangeably. Be careful of one confusion though: a JSON Schema validator is a completely different tool. JSON Schema is a specification for validating the structure of JSON documents, unrelated to schema.org. If you are here to check that an API payload matches a contract, you want a JSON Schema validator instead. This tool checks schema.org markup for search engines.
How do I test my schema markup?
Paste your page URL into the tool above, or paste the JSON-LD directly if the page is not live yet. You will see every schema block found, which properties are present, and which required or recommended ones are missing. For a final confirmation before launch it is worth also running Google's own Rich Results Test, since that is the tool whose verdict actually decides eligibility.
What is a good tool to check schema code?
For everyday checks while writing markup, any validator that shows required versus recommended properties will do, and the paste mode above is built for exactly that. For a final pre-launch check use Google's Rich Results Test, because Google is the one deciding whether to show the rich result. The schema.org validator is useful for a third purpose: confirming your markup is valid schema.org, which is a broader question than Google eligibility.
What does a rich results test do?
A rich results test checks whether a page qualifies for one of Google's enhanced search appearances, such as star ratings, FAQ dropdowns or recipe cards. It goes beyond asking whether the markup is valid and asks whether it meets Google's specific requirements for that result type. That is the distinction this tool is built around: schema.org marks almost nothing as required, while Google very much does.
What are the differences between rich results and Schema?
Schema is the markup you write, rich results are what Google may show because of it. Schema.org is the shared vocabulary that defines types like Product, Recipe and Event. A rich result is the enhanced listing Google renders in search when your markup qualifies. Valid schema does not guarantee a rich result: Google decides, and it weighs page quality alongside the markup.
Can you give me an example of a rich result?
The star ratings under a product listing are a rich result, produced by Product and AggregateRating markup. So are the expandable questions under a page, produced by FAQPage markup, the cook time and calorie count on a recipe, and the breadcrumb trail shown instead of a raw URL. Each one comes from a specific schema type with its own required properties.
What is a rich test?
Usually shorthand for Google's Rich Results Test, the tool at search.google.com that checks a page for rich result eligibility. It is the authoritative check, since Google runs it against its own rules. A validator like this one is faster for iterating while you write markup, and it explains which specific property is blocking you, which the official tool is not always explicit about.
Why does my schema validate but not show a rich result?
This is the most common frustration with structured data, and there are three usual causes. Your markup may be valid schema.org but missing a property Google specifically requires, which is what the errors above are for. The page may qualify but Google has chosen not to show the rich result, which it does at its discretion based on page quality. Or the markup may be injected by JavaScript after load, in which case a server-side checker like this one will not see it at all even though Google might.
Why does the checker return a 403 for some sites?
Many large sites sit behind bot protection that refuses any request not coming from a real browser, and a server-side checker like this one looks exactly like that. It is not a fault in your markup. Google's crawler is allowlisted almost everywhere, so those pages are fine as far as search is concerned. For a site you control you can check it locally with paste mode, or allow our user agent, which identifies itself as RankSpot-Bot.
Which structured data formats does this tool check?
As a JSON-LD schema validator it checks that format in full, including nested nodes. Microdata and RDFa are detected and their types reported, but not validated in depth. That is a deliberate limit rather than an oversight: JSON-LD is what Google recommends and what the large majority of sites use, and a shallow parser for the other two would give you false confidence rather than useful answers.
Start free today

Millions of people will ask AI about your category this week

RankSpot researches, writes and publishes daily, and sends you the short list of what's left. Free for 3 days.

Start free trial