Schema Validator. Check JSON-LD Structured Data for Rich Results
Paste raw JSON-LD, a script tag, or an entire page's HTML. The validator finds every structured-data block, checks each one against schema.org's required and recommended properties, and tells you exactly what's blocking a rich result, all in your browser, nothing uploaded.
What is the schema validator?
The Schema Validator extracts every JSON-LD block from pasted markup or a full page's HTML, checking each @type against schema.org's required and recommended properties, including nested nodes like an Offer inside a Product. Errors and warnings return with actionable fixes. Free and browser-based, so unpublished markup never leaves your machine.
The GigAI Schema Validator is a structured-data linter that reads what you actually shipped and grades it the way a search engine's parser would. Paste a single JSON-LD object, a `<script type="application/ld+json">` block, an array of nodes, or drop in a whole page's HTML, the tool extracts every JSON-LD script it can find, parses each one, and validates it against schema.org's required and recommended properties for its @type using the same engine behind our Schema Markup Generator. For each block you get its detected @type, a pass/warn/fail breakdown, and precise, actionable messages: missing required properties are flagged as errors that disqualify a rich result, missing recommended ones as warnings that weaken eligibility, and clean blocks are confirmed as ready to publish. It walks nested nodes too, so an Offer inside a Product or a Question inside an FAQPage is checked in place. Because parsing and validation happen entirely on your device using the browser's native JSON and HTML engines, your prices, author names, event details and unpublished markup never leave your machine, there's nothing for us to store, log or see. This is a pragmatic required/recommended linter rather than a full schema.org shape engine, so it pairs perfectly with Google's Rich Results Test: fix everything here first, then confirm final Google-specific eligibility on the official checker before you publish.
- Difficulty:
- Easy
- Typical time:
- ~30s
- Processing:
- 100% browser processing
Last updated
How to use the schema validator
- 1
Paste your structured data
Drop in raw JSON-LD, a full `<script type="application/ld+json">` block, or copy an entire page's HTML source, the validator handles all three and finds every block.
- 2
Read the per-block report
Each detected block shows its @type, a score and a grouped list of checks: red errors are missing required properties, amber warnings are missing recommended ones, green rows confirm what's correct.
- 3
Fix errors first, then warnings
Required-property errors block eligibility, so clear those first. Then add recommended properties where you can, Google favours complete markup with images, authors and dates.
- 4
Confirm in Google's Rich Results Test
Once this validator is clean, paste the same markup into Google's Rich Results Test to confirm Google-specific eligibility rules on top of valid JSON-LD before publishing.
What Schema Validator includes
Detects every block on the page
Paste one object, a script tag, an array of nodes or a whole page's HTML: the validator pulls out each <script type="application/ld+json"> block and checks them all, not just the first.
Required vs recommended, per @type
Each block is graded against schema.org's required (error) and recommended (warning) properties for its exact @type, so you see instantly what disqualifies a rich result and what merely weakens it.
Walks nested nodes
An Offer inside a Product, a Question inside an FAQPage, an AggregateRating or PostalAddress. Nested typed nodes are validated in place with a dotted path to the exact property.
Precise parse errors
Invalid JSON, a missing @type or @context, or a block that isn't an object are reported with the exact reason and location. No silent "it just doesn't work".
Scored, grouped report
A 0–100 score and A–F grade summarise health across all blocks, with errors, warnings and passes grouped per block so a colleague can act on it at a glance.
100% in your browser
Markup is parsed and validated with your browser's native JSON and HTML engines. Prices, author names, event details and unpublished data are never uploaded, stored or logged.
Why use our schema validator
Find out why a rich result won't show
When an FAQ accordion, star rating or breadcrumb refuses to appear, it's almost always a missing required property. The validator names the exact @type and property so you fix the real cause, not a guess.
Clear Search Console 'invalid structured data' errors
Paste the markup Search Console is complaining about and see, per block, which required fields are absent: then fix them and re-check before requesting validation from Google.
Audit markup you didn't write
Inherited a template or plugin that injects JSON-LD? Paste the rendered page and audit every block it emits, including ones you didn't know were there.
Safe for private and unpublished markup
Because everything runs locally, you can validate staging pages, gated content and markup containing unreleased prices or personal data without any of it leaving your machine.
Built for the way you work
From quick one-off fixes to daily workflows, see how people put this tool to use.
- SEO specialist
Audit a page's structured data before launch
Paste the rendered HTML of a template page and confirm every JSON-LD block (Article, Breadcrumb, Organization) is valid and complete before it goes live.
- Developer
Debug JSON-LD emitted by a CMS or plugin
When a plugin's markup fails Google's test, paste it here to see exactly which @type and property is wrong instead of eyeballing a wall of minified JSON.
- E-commerce manager
Verify Product & Offer markup
Check that each product's Product block has a name and that its nested Offer carries price and priceCurrency, so listings stay eligible for price and review rich results.
- Content team
Validate FAQ and Recipe markup at scale
Paste FAQPage or Recipe JSON-LD from a batch of posts to confirm every Question has an accepted answer and every recipe has its required fields before publishing.
Supported formats
Accepts JSON-LD, HTML and Script tag, and produces Validation report, all processed locally in your browser.
- JSON-LD
- HTML
- Script tag
- Validation report
Frequently asked questions
Recommended tools
Schema Markup Generator
Generate valid JSON-LD structured data for Article, FAQ, Product, Organization, LocalBusiness, Event and more, with a live rich-results validity check and a copy-ready script tag. 100% in your browser.
FAQ Schema Generator
Turn a list of questions and answers into valid FAQPage JSON-LD structured data, with a live validity check for the Google FAQ rich result and a copy-ready script tag. 100% in your browser.
Product Schema Generator
Generate valid Product JSON-LD structured data with Offer price, availability and AggregateRating, for price and star-rating rich results in Google. Live validity check, copy-ready script tag, 100% in your browser.
Meta Tag Analyzer
Paste a page's HTML to audit its title, description, canonical, robots, Open Graph and Twitter Card tags: with a length score, missing/duplicate checks and a live search & social preview, 100% in your browser.
JSON Formatter
Format, validate and minify JSON in your browser with pinpoint error line + column, jump-to-error, key sorting and live editing: nothing is uploaded.
CSS Validator
Paste your CSS and instantly catch unbalanced braces, unclosed and empty rules, and unterminated comments or strings, each pinpointed to a line, 100% in your browser.
Common problems, solved
Hit a snag? Here are quick fixes for the issues people run into most.
It says my JSON-LD is invalid JSON.
A trailing comma, a smart/curly quote pasted from a doc, or an unescaped character usually causes this. The error names the position, fix the syntax (or run it through the JSON Formatter) and re-validate.
No blocks were detected in my pasted HTML.
The validator looks for `<script type="application/ld+json">` blocks. If your markup is Microdata or RDFa it won't be found: convert to JSON-LD (Google's recommended format). Also make sure you pasted the rendered source, not a JS bundle that injects it later.
A required-property error appears on markup that 'works'.
The property really is required for that @type: e.g. an Event needs name and startDate, a VideoObject needs name, thumbnailUrl and uploadDate. A rich result may still fail to appear until it's present, so add it.
Google's test flags something this validator passed.
This is a pragmatic required/recommended linter, not a full schema.org shape validator, and Google layers its own eligibility rules on top of valid JSON-LD. Always confirm with Google's Rich Results Test before publishing.
Get the most out of it
You can paste an array of JSON-LD nodes (e.g. [{Article}, {BreadcrumbList}]). Every node is detected and validated separately.
Validating a live page? View source (Ctrl+U / Cmd+Option+U), copy it all, and paste, the tool extracts each JSON-LD script for you.
Errors (red) block rich results. Warnings (amber) don't, but adding recommended fields like image, author and date materially improves eligibility.
Keep each schema type in its own object rather than merging unrelated types. It validates cleaner and is easier for search engines to parse.
After the validator is green, always run Google's Rich Results Test. Passing here is necessary, but Google adds its own final checks.
What's new
Recent updates and improvements to the schema validator.
Initial release. Paste JSON-LD, a script tag or full HTML. Auto-detects every structured-data block. Validates each against schema.org required/recommended properties per @type with a scored, grouped report and rich-result notes.
Added multi-block detection from pasted HTML (extracts every application/ld+json script), nested-node validation with dotted property paths, and per-block @type badges.
Refined the report into per-block cards with individual scores, a page-level summary, byte/block counts and a link to Google's Rich Results Test for final confirmation.
Keep exploring
Related tools
Problems we solve
From the blog
Explore categories
Compare formats
Common tasks
Your privacy is built in
Your structured data is parsed and validated entirely in your browser using its native JSON and HTML engines: nothing is uploaded to any server. No prices, author names, event details or organization data are stored, logged or transmitted, so you can safely validate staging pages, gated content and markup containing private or unpublished information. Close the tab and every trace is gone.
- Runs in your browser
- No uploads
- Nothing stored
Ready to try the schema validator?
Free, private and instant. Schema Validator runs right in your browser.