✅ Schema Markup Validator

Last updated: June 4, 2026

Schema Markup Validator

Validate JSON-LD, Microdata, or paste a URL to extract and check schema markup against Schema.org + Google Rich Results rules.

Quick samples:

Why Your Schema Markup Keeps Failing Google's Rich Results Test

You spent hours adding structured data to your pages. You followed a tutorial, copied the JSON-LD template, and deployed it. Then you opened Google Search Console and found zero rich results — or worse, a manual action warning. Sound familiar?

The problem is almost never the schema format itself. It is the invisible layer of business rules that Google enforces on top of the Schema.org specification — rules that no generic copy-paste template can reliably encode for your specific content type. A recipe page and a product page share the same JSON-LD syntax, but carry completely different required-field obligations, enum constraints, and object-shape expectations. One missing property in the wrong place, and the entire markup becomes ineligible for rich snippets.

The Gap Between Schema.org and Google's Actual Requirements

Schema.org is a vocabulary — a dictionary of types and properties maintained by a consortium that includes Google, Microsoft, and Yahoo. It is deliberately permissive. Almost nothing is strictly required at the vocabulary level because Schema.org is designed to serve thousands of use cases across any industry, language, and application domain.

Google's Rich Results specifications are something different. They are a curated subset of Schema.org that Google has decided it can parse, render, and surface as enhanced search features. For each supported type — Article, Product, Recipe, FAQ, Event, JobPosting, LocalBusiness, and about a dozen others — Google publishes its own list of required properties, recommended properties, valid enum values, and structural constraints.

These two sets of rules diverge in ways that trip up even experienced developers. Consider the author field on an Article. Schema.org accepts a string. Google's documentation recommends an Author object — specifically a Person or Organization with a name property — because plain strings give the search engine no graph signal to work with. You can pass Google's parser with a string, but you are leaving rich result quality on the table.

Or consider the datePublished field. Schema.org does not enforce ISO 8601. Google's system does. If you write "datePublished": "March 15, 2024" instead of "2024-03-15", the field is silently dropped. Your schema looks valid to any surface-level linter but is effectively broken where it matters.

The Most Common Schema Errors (and Why They Are Hard to Spot)

After analysing thousands of schema implementations, the same categories of errors appear repeatedly.

Missing required fields. For Products, the name field is obviously required, but offers with both price and priceCurrency is equally non-negotiable for the product price rich result. Many implementations include an offer but omit priceCurrency because it feels redundant — after all, the developer knows the currency is USD. Google's parser does not infer context; it looks for the field or skips the rich result.

Wrong data types. Image fields should be either a valid https:// URL string or an ImageObject — not a number, not an empty string, not a relative path. Recipe durations must use ISO 8601 duration format (PT30M for 30 minutes, P1DT2H for one day and two hours) rather than human-readable text like "30 minutes".

Invalid enum values. Event status, product availability, and employment type fields all accept a defined set of Schema.org enumeration values. Using "InStock" as a bare string instead of "https://schema.org/InStock" may or may not work depending on context. Using "Available" instead of the correct enumeration value will silently fail.

Nested object shape errors. An AggregateRating without both ratingValue and reviewCount (or ratingCount) is invalid. A BreadcrumbList where items lack position integers breaks the breadcrumb rich result entirely. Publisher objects in Article schema should carry a logo property that is itself an ImageObject with a url.

Ambiguous @context declarations. Using http://schema.org instead of https://schema.org, or pointing to a custom context file, can confuse parsers. While Google has historically accepted both HTTP and HTTPS versions of the Schema.org context, best practice is the canonical HTTPS URL.

How a Real-Time Validator Changes Your Workflow

Traditional debugging of schema markup involves a three-step cycle: edit the markup in your CMS or code editor, deploy it to a staging environment, then run it through Google's Rich Results Test and wait for the page to be fetched. If you have a CMS that requires manual deploys, a CDN with aggressive caching, or a staging environment that is not publicly accessible, this cycle can take hours per iteration.

An in-browser validator that runs against a known rule set collapses that cycle to seconds. You paste the raw JSON-LD, click Validate, and immediately see which fields are missing, which values are malformed, and which line numbers in your markup correspond to which problems. You fix the errors in the same textarea, re-validate, and only push to production once the schema is clean.

This is especially valuable when working with dynamically generated schema — the kind that your CMS or e-commerce platform produces automatically. Platforms often generate technically valid JSON-LD that nonetheless violates Google's business rules. A validator lets you catch those systematic errors once and then fix the template, rather than discovering them in search performance data months later.

Line-Level Highlighting: Why It Matters

Most schema errors do not occur at the root level of a JSON object. They occur inside nested structures — inside the offers object, inside the publisher, inside individual Question items in a FAQPage. When a validator tells you "AggregateRating is missing ratingValue," that is helpful. When it also highlights the exact line of the raw JSON where the aggregateRating property begins, you can navigate there immediately in your editor without scanning hundreds of lines of markup.

For large schemas — a Recipe with a dozen ingredients and ten HowToStep instructions, or a Product with multiple offer variants — line-level context is the difference between a five-second fix and a five-minute hunt.

Beyond Validation: Using the Score to Prioritise Work

Not all schema issues are equally urgent. A missing required field is a blocking error — the rich result will not appear until it is resolved. A missing recommended field is a quality warning — the rich result may appear but with reduced information or lower eligibility for enhanced features like price drops or review stars.

A schema quality score that weights errors more heavily than warnings gives you an actionable priority order. Get to 100 by resolving errors first, then work through warnings to maximise rich result completeness. This is particularly important for e-commerce sites managing thousands of product pages, where schema issues often come in systematic patterns that can be fixed with a single template change rather than page-by-page edits.

Structured data is one of the highest-leverage SEO investments available — rich results consistently outperform plain blue links in click-through rate studies. But that leverage only materialises when the schema is actually correct. Validating before you deploy, not after, is the single habit change that separates teams who reliably earn rich results from those who perpetually wonder why their structured data never shows up.

FAQ

What is the difference between Schema.org requirements and Google Rich Results requirements?
Schema.org defines a broad vocabulary where almost nothing is mandatory — it is designed for maximum flexibility across all industries. Google Rich Results have a separate, stricter set of rules specifying exactly which fields are required, which formats are accepted, and which enum values are valid for each supported type. A schema can be valid Schema.org markup but still be ineligible for Google rich results because it violates Google's additional constraints.
Why does my schema look valid but still not appear as rich results in Google Search?
The most common reasons are: missing required fields (like priceCurrency on an Offer, or both ratingValue and reviewCount on AggregateRating), wrong data formats (dates not in ISO 8601 format, durations not in ISO 8601 duration format), using a plain string where Google expects an object (like author: 'John' instead of an Author object), or invalid enum values for fields like availability or eventStatus. A validator that checks Google's specific rules — not just JSON syntax — will surface these issues immediately.
Should I use JSON-LD, Microdata, or RDFa for schema markup?
Google recommends JSON-LD as the preferred format because it can be placed anywhere in the page (usually in the <head>), is easy to read and maintain, and does not require interleaving markup with your HTML content. Microdata and RDFa are still supported but they require embedding attributes directly into your HTML elements, making them harder to update and more prone to breaking when templates change. For new implementations, JSON-LD is the clear choice.
How many schema types can I include on a single page?
You can include multiple schema types on one page — for example, a blog post page might have Article schema, BreadcrumbList schema, and an Author (Person) schema. Use separate JSON-LD script blocks for each type, or use a single block with an @graph array. Google will parse all of them independently. However, avoid duplicating the same type with contradictory information, and make sure each type accurately describes the actual content on that page.
Does adding schema markup directly improve my search rankings?
Schema markup does not directly improve rankings as a ranking factor. What it does is enable rich results — enhanced search listings with stars, prices, images, or other visual elements — which consistently improve click-through rates. Higher CTR signals can indirectly influence rankings over time. Schema also helps Google better understand your content for knowledge graph associations and featured snippets, which can increase organic visibility beyond just the ten blue links.
What should I do after validating my schema with this tool?
After fixing all errors and addressing key warnings here, test your final markup in Google's official Rich Results Test (search.google.com/test/rich-results) to confirm Google can fetch and parse it from your actual page URL. Then submit the URL for indexing via Google Search Console. Monitor the Enhancements section in Search Console over the following weeks — it will show any live errors Google finds as it crawls your pages at scale, which may differ from what appears in single-URL tests.