Free schema markup validator
Check your schema markup
See every JSON-LD block on a page, what doesn’t parse and which fields each type is missing, then copy the fix or hand it to your AI coding tool.
We read the page as crawlers do: raw HTML, no JavaScript. We check JSON-LD only, so use the result as a guide.
Checking
Reading the page as raw HTML
Did you know?
Google Search reads three formats of structured data: JSON-LD, Microdata and RDFa. It recommends JSON-LD.
Source: Google Search Central, “Introduction to structured data markup”
How it works
One page, read the way a crawler reads it
Four steps on one request, without running JavaScript.
01
Fetch the raw HTML
One request, no scripts: what crawlers that skip JavaScript see.
02
Parse every block
Each JSON-LD block on its own, with the line and column of any error.
03
Read the graph
Nodes merged by @id, references followed, each matched to its type.
04
Check and write the fix
Required and recommended fields, then JSON-LD for every gap.
What it checks
Nine types, field by field
The types most sites need, with the fields Google requires or recommends.
2 required · 3 recommended
Organization
Who you are: name, site, logo and profiles. Everything else points back to it.
2 required · 2 recommended
WebSite
The site as a whole. Google reads it to pick the site name in results.
2 required · 2 recommended
WebPage
This page: its title, address and the site it belongs to.
3 required · 3 recommended
Article and BlogPosting
Headline, author and dates, so engines know who wrote it and when.
1 required · 0 recommended
BreadcrumbList
Where the page sits in your site. Google can show it in place of the URL.
1 required · 0 recommended
FAQPage
Question and answer pairs, in a form engines read without guessing.
2 required · 3 recommended
Service
What you sell, who provides it and where, for “who does X” questions.
2 required · 3 recommended
Product
A product and its price. Google needs offers, ratings or reviews.
3 required · 2 recommended
SoftwareApplication
An app or SaaS product: category, platform, price and ratings.
What it checks, and what it doesn’t
Where to look for the rest
| What | This check | Where to look instead |
|---|---|---|
| Every JSON-LD blockParse errors to the line and column | Checked | Covered here |
| Nine types, field by fieldRequired and recommended fields, with why | Checked | Covered here |
| The fixCopy-paste JSON-LD and a prompt for your AI tool | Included | Covered here |
| Microdata and RDFaWe flag them, but read JSON-LD only | Flagged | Rich Results Test |
| Every other schema.org typeWe list them and check nine | Listed | validator.schema.org |
| Whether Google shows a rich resultGoogle decides that page by page | No | Rich Results Test |
| Schema added after loadToo late for crawlers that skip scripts | No | Your page template |
| Whether your values are trueA field being there isn’t it being right | No | You, against the page |
Why it matters
Say plainly what the page is about
Written for the engines that answer your buyers
- ChatGPT
- Perplexity
- Gemini and AI Overviews
- Claude
Structured data tells search engines what a page is, so they don’t have to guess: this article, by this person, from this company, updated on this date.
Answer engines pull a few pages from a search index and write from them. Clear entities and real dates make yours easier to pick and to describe correctly.
And one stray comma hides a whole block. Broken schema is worse than none.
How to fix it
From report to fixed in one sitting
Fix what doesn’t parse. A broken block hides everything in it. Start at its line and column.
Merge, don’t duplicate. One @graph with stable @id values that every page points to.
Replace every FILL IN. Use the real value, or remove the field. Never ship a placeholder.
Render it in the HTML. In your layout or SEO component, not added by a tag manager.
Check it again. This check, validator.schema.org and the Rich Results Test, per template.
FAQ
Questions about schema markup, answered
What is schema markup?
Schema markup is structured data that describes a page in the schema.org vocabulary: what the page is, who publishes it, what it’s about. It sits in the HTML, usually as JSON-LD in a script tag, and visitors don’t see it. Search engines read it to understand the page and to decide which rich results it can show.
What is JSON-LD, and why do you only check JSON-LD?
JSON-LD is a way to write structured data as a block of JSON in a script tag, separate from the visible HTML. Google reads JSON-LD, Microdata and RDFa and recommends JSON-LD. If your page uses Microdata or RDFa, the report says so; use Google’s Rich Results Test to check those.
How is this different from Google’s Rich Results Test?
The Rich Results Test tells you whether a page is eligible for Google’s rich results, and only reports the types that can earn one. This validator checks the fields every engine needs on nine common types, including Organization and WebSite, explains why each one matters, and writes the JSON-LD to fix the gaps with a prompt for your AI coding tool. Use both.
Does schema markup help with ChatGPT and AI search?
AI engines don’t publish how much structured data weighs in their answers, so nobody can promise that. What we do know: answer engines pull pages from a search index, and search engines use structured data to understand pages. Clear entities and correct facts make your pages easier to understand and describe correctly. Schema won’t make up for content that doesn’t answer the question.
Why does the report say I have no JSON-LD when I can see it in the browser?
The browser shows the page after JavaScript has run. We read the raw HTML the server sends, the way crawlers that don’t run JavaScript do. If your schema is added by a script or Google Tag Manager, move it into the page template so it’s in the HTML.
What do the FILL IN markers mean?
They mark values we can’t read from the page, such as your logo URL, an author’s name or a price. Replace each one with the real value, or remove the field if you don’t have one. The prompt for your AI coding tool says the same, so it won’t invent values for you.
Is it free, and what do you do with the URL?
It’s free, with no sign-up. We fetch the public page you enter once, check it and show you the result. We don’t keep the page or the result. To stop abuse there’s a limit of 3 checks per visitor per day.
Done for you
Want it fixed? We’ll do the whole site.
Our SEO and AEO team sets up structured data on every template, not just one page, and ships it for you.
Schema on every template
Organization, WebSite, Article, Service, FAQ and breadcrumbs where each page needs them.
One connected graph
Stable @id values, so every page points to the same company, site and authors.
Checked before launch
Every template run through Google’s and schema.org’s validators.
