Schema Markup Validator
Validate JSON-LD, Microdata, and RDFa schema markup against Google Rich Results criteria. Paste HTML or JSON-LD, or fetch from any URL: get per-block required-field reports.
Interactive tool
HTML source
Validation
LiveSupported types
The validator checks Rich Results required and recommended fields for these 11 types. Blocks with other @types are listed but not field-validated.
What is the Schema Markup Validator?
A free schema markup validator. Paste raw HTML, paste a JSON-LD block directly, or fetch any live URL: the tool extracts every JSON-LD <script>, Microdata itemscope, and RDFa typeof element and validates each one against Google Rich Results required and recommended field criteria for the 11 most-used Schema.org types.
How to Use the Schema Validator
- 1Pick an input mode: Paste HTML, Paste JSON-LD, or Fetch from URL
- 2Paste content (or fetch from a URL via our SSRF-safe backend)
- 3Read each block's status: PASS (all required), WARN (missing recommended), FAIL (missing required), or UNKNOWN (type not one of the 11 covered)
- 4Use the missing-field lists to fix gaps in the source
- 5Re-validate to confirm fixes
Key features
Three input modes
Paste HTML (full page or fragment), paste a raw JSON-LD object/array, or fetch any URL through our SSRF-safe backend
JSON-LD, Microdata, and RDFa detection
Finds and lists schema markup in all three formats: JSON-LD scripts, itemscope/itemtype attributes, and typeof attributes
Per-block required + recommended reports
For the 11 supported types, every block gets a list of missing required fields (FAIL) and missing recommended fields (WARN)
@graph support
Properly expands JSON-LD documents that wrap multiple entities under @graph and validates each one independently
Multi-type and prefixed @type handling
Accepts arrays of @type and the explicit https://schema.org/* prefix variant
Severity rollup
Top-level pass/warn/fail/unknown counts so you can see at-a-glance whether your page is Rich Results-ready
Privacy-first fetch
URL fetches go through our SSRF-safe backend: non-public addresses are blocked, no URL logging
Why Validate Schema Markup?
Rich Results: the FAQ accordions, recipe cards, review stars, breadcrumbs, and event listings that make a search result stand out, are gated behind strict required-field checks. A single missing field means Google silently downgrades your result to a plain text snippet. The official Rich Results Test catches this for you, but only one URL at a time; this tool lets you paste a draft, fix it, paste again, and ship without leaving the browser.
Common use cases
- Auditing a CMS's auto-generated schema output before deploy
- Validating JSON-LD generated by the Schema Markup Generator
- Diagnosing why a Rich Result stopped appearing in Search Console
- Spot-checking competitor pages to see what schema they ship
- Confirming a multi-block @graph (WebSite + WebPage + Article) is intact
- Verifying a Microdata-to-JSON-LD migration before flipping the switch
Why JSON-LD only for field validation?
Microdata and RDFa are still valid Schema.org formats but Google explicitly recommends JSON-LD for new work. Field-by-field extraction across HTML attributes is also more error-prone. We list Microdata and RDFa items so you can see they exist but only validate JSON-LD field structure.
Which 11 types are validated?
- Article: news article, blog post
- Product: physical or digital product
- Organization: formal entity
- LocalBusiness: physical business with address
- BreadcrumbList: page hierarchy
- FAQPage: Q-and-A page
- Event: in-person or virtual event
- Recipe: cooking or baking recipe
- VideoObject: embedded or hosted video
- WebSite: site itself (sitelinks search box)
- WebPage: specific page
Local validator vs Google's Rich Results Test
This tool checks the Schema.org structural fields Google publishes as required for Rich Results. It does NOT check image accessibility, URL reachability, content quality scoring, or anti-spam signals. Those need the live test. Use this tool for fast iteration during development; use Google's Rich Results Test once before you ship.
Common gotchas this tool catches
- Missing required fields like image, datePublished, author, publisher.logo on Article
- Product missing offers or aggregateRating substructures
- BreadcrumbList missing itemListElement
- FAQPage missing mainEntity
- Recipe missing recipeIngredient or recipeInstructions arrays
- WebSite without potentialAction.target.urlTemplate (no sitelinks search box eligibility)
Tips & best practices
Validate in dev, then validate live
CMS escaping, CDN injection, and runtime JS can all change what hits the wire. After deploy, run the live URL through Google's Rich Results Test as a final check.
Use @graph for multiple entities
If a page describes a website, a webpage, and an article, wrap them in @graph rather than emitting three separate <script> tags. Google handles either, but @graph is more compact and makes shared @id references possible.
Match types to visible content
Marking up an aggregateRating that is not actually visible to users is a violation of Google's structured-data guidelines and risks a manual action.
Prefer JSON-LD for new work
Google, Bing, Yandex, and most other consumers prefer JSON-LD. Microdata and RDFa are read but harder to maintain.
Iterate the recommended fields
WARN blocks are still Rich Results-eligible but unlock more features (a "Last updated" badge on Articles, dateModified on FAQPage, etc.) when you fill them in.
Privacy & security
Paste HTML and Paste JSON-LD modes run entirely in your browser. Fetch mode sends only the URL to our SSRF-safe backend, which applies non-public-address blocking and response size, timeout, and rate-limit caps. The URL is never logged.
Related tools
- Schema Markup Generator
Generate valid JSON-LD schema markup for Article, Product, Organization, LocalBusiness, BreadcrumbList, FAQPage, Event, Recipe, VideoObject, WebSite, and WebPage: Rich Results-ready.
SEO Tools
- HTML Link Extractor
Extract every link from any HTML page: anchors, images, iframes, scripts, stylesheets, and meta canonical/og:url. Paste HTML or fetch a URL, get a categorised table with internal vs external counts and CSV export.
SEO Tools
- Open Graph Preview
Preview how a URL appears on Facebook, LinkedIn, Twitter, Slack, and Discord, with a checklist for missing OG and Twitter card tags
SEO Tools
- Redirect Rules Generator
Generate Apache .htaccess and Nginx redirect snippets from a single rule list. Supports exact, prefix, and regex matches with 301/302/307/308 status codes, query-string passthrough, case-insensitive matching, and CSV import.
SEO Tools
- Slug Generator
Convert any text to clean, SEO-friendly URL slugs with diacritics stripping, custom separators, and bulk mode
SEO Tools
- Canonical URL Generator
Build the canonical URL for any page and get a drop-in <link rel="canonical"> snippet. Lowercases the host, strips default ports, removes UTM/tracking params, forces HTTPS, and de-duplicates query parameters.
SEO Tools
Frequently Asked Questions
Which schema types does this validator check?
It performs full required and recommended-field validation for the 11 most-used Schema.org types: Article, Product, Organization, LocalBusiness, BreadcrumbList, FAQPage, Event, Recipe, VideoObject, WebSite, and WebPage. These cover ~95% of real-world Rich Results usage. Other @types are detected and listed but not field-validated.
Does it support JSON-LD, Microdata, and RDFa?
All three formats are detected. JSON-LD blocks are field-validated against Rich Results criteria. Microdata (itemscope/itemtype) and RDFa (typeof) blocks are listed for visibility. Google explicitly recommends JSON-LD for new work.
How is this different from Google's Rich Results Test?
This tool checks structural Rich Results required fields locally for fast iteration during development. Google's Rich Results Test additionally validates URL reachability, image accessibility, content quality, and anti-spam signals against the live page. Use this tool to ship-ready, then run Google's test once before deploy.
Does it handle @graph documents?
Yes. JSON-LD that wraps multiple entities under a top-level @graph array is fully expanded and each entity is validated independently. The wrapper itself is skipped if it has no @type of its own.
Are private IPs blocked when I use Fetch from URL mode?
Yes. Our backend applies the same SSRF guard as the rest of the SEO batch: any URL that resolves to a non-public address (loopback, private, link-local, or otherwise internal) is refused, and response size and timeout caps are enforced.
What does PASS, WARN, FAIL, and UNKNOWN mean?
PASS: every required and recommended field is present. WARN: required fields are present but one or more recommended fields are missing, Rich Results-eligible. FAIL: one or more required fields are missing, Rich Results blocked. UNKNOWN: @type is not one of the 11 validated types, listed for visibility only.