JSON-LD Schema Validator
Find and fix every structured-data error on your page - free, with exact fixes.
Checking your account...
Why validate JSON-LD?
Google, Bing, and AI search engines (ChatGPT, Perplexity, Gemini) rely on schema.org JSON-LD to understand pages and decide whether to show rich results, citations, or knowledge-panel data. A single JSON parse error, a missing required field on an Article or Product, or a mistyped @typesilently disqualifies your page from rich results - and there is no warning in Search Console.
What this tool checks
We fetch your page, extract every <script type="application/ld+json"> block, and run it through a schema.org validator: JSON syntax, required @context and @type, required fields per type (Article, Product, FAQPage, LocalBusiness, BreadcrumbList, HowTo, Recipe, Event, VideoObject, Review, JobPosting), common mistakes like lowercase types, relative image URLs, non-ISO dates, and prices that contain currency symbols. Every error comes with a copy-paste fix.
How to read your results
Each <script> tag on the page becomes one block in the report, labelled with the schema types it contains. Blocks are graded independently, so a broken Product block never hides a valid Article block. Findings come in three levels, and they are not equally urgent:
- Errors stop the block from being understood at all - invalid JSON, a missing
@type, a type that does not exist in schema.org, or a missing field that Google treats as required for the rich result. Fix these first; until you do, the block earns you nothing. - Warnings mean the markup parses but is incomplete: a required-for-rich-results field is absent, or a value is in the wrong shape (a date that is not ISO 8601, a price written as "$29"). The page can still be indexed normally, but the rich result is unlikely to appear.
- Notices flag recommended fields such as
imageon an Article. They widen how your result can be displayed rather than deciding whether it is eligible.
If you keep several types on one page, group them in a single @graph array and give the wrapper one @context. Child nodes inherit it, and they can reference each other by @id instead of repeating the same Organization block on every page. This validator understands that pattern, so an inherited context is never reported as missing.
Errors we see most often
- Lowercase or invented types -
"article"or"BlogPost"instead ofArticleorBlogPosting. Types are case-sensitive and must exist in the schema.org vocabulary. - Relative image and URL values -
/images/hero.jpgcannot be resolved by a crawler reading your markup in isolation. Always use absolute https URLs. - Dates in local format -
datePublishedanddateModifiedneed ISO 8601, for example2026-09-10or2026-09-10T08:30:00Z. - Markup that describes something the page does not show - review stars, FAQs or prices in JSON-LD but nowhere in the visible content. This breaches Google's structured-data policies and can cost you rich results across the whole site, not just one page.
- Self-serving review markup - Review or AggregateRating about your own business on your own site is ignored by Google and can trigger a manual action.
Frequently asked questions
Does valid schema improve my rankings?
Not directly. Structured data does not change your position, it changes how your result can be displayed - review stars, breadcrumbs, FAQ expanders, product prices, event dates - and how easily AI search engines can quote you. Better presentation typically lifts click-through rate on positions you already hold.
My markup is valid but I see no rich result. Why?
Validity makes a page eligible, not guaranteed. Google decides per query whether to show an enhanced result, and it usually needs to re-crawl the page before anything changes. Content quality, the search intent behind the query, and the device all play a part.
Should I use JSON-LD, Microdata or RDFa?
JSON-LD, which is what this tool checks. Google recommends it, it sits in one block in the head or body rather than being woven through your HTML, and it is far easier to generate and maintain.
Can I validate markup that is not live yet?
Yes. Switch to "Paste JSON-LD" and drop the block straight in - useful for checking a template before you deploy it, or markup produced by the free schema generator.
Once your markup is clean, run a full site audit to see whether every page carries the schema you expect, and confirm crawlers can reach them with the index status checker.