Schema Markup Checker & JSON-LD Validator — Free Structured Data Tester
Free schema markup checker that validates JSON-LD structured data, catches missing required properties, and previews rich-result eligibility before you ship to production. Use this JSON-LD validator to debug Article, Product, FAQ, and Organization schema with three layers of checks: JSON syntax, schema.org vocabulary, and Google Rich Results requirements. Unlike a basic structured data tester that only flags syntax, this schema org validator tells you why a property is required, what Google expects, and how to fix each issue with ready-to-use code examples. Everything runs in your browser — no upload, no account, no data leaving your machine. As a result, you get a private schema testing tool that catches errors faster than the Google Rich Results Test round-trip.
Why This Schema Validator Beats Alternatives
Most teams cycle between three or four schema markup checker tools during a single audit because each one only solves a slice of the problem. The official Google Rich Results Test shows you whether Google would generate a rich result, but it skips JSON-LD syntax explanations and adds a server round-trip per check. The Schema.org Validator covers vocabulary correctness but does not preview rich-result eligibility. Generators like Merkle's Schema Markup Generator produce code without testing it, and the JSON-LD Playground from schema.org is a developer reference rather than a debugging tool. Therefore, you end up pasting the same snippet into three tabs.
This JSON-LD validator consolidates the workflow. It runs syntax validation, schema.org vocabulary checks, and Google rich-result rules in a single pass — instantly, in your browser. Every error maps to a concrete fix instead of a cryptic "missing property X" message. For example, when Article is missing image, the validator explains why Google requires the property, shows the exact JSON-LD shape to add, and links to the official documentation.
How This Schema Markup Tester Compares
| Tool | Syntax Check | Rich Results | Speed | Privacy |
|---|---|---|---|---|
| This schema markup checker | Yes (instant) | Yes (8+ types) | Instant (browser-side) | Browser-only |
| Google Rich Results Test | Limited | Yes (Google-only) | Several seconds per request | Sent to Google servers |
| Schema.org Validator | Yes | No | Fast | Sent to W3C/schema.org |
| Merkle Schema Generator | Generator only | No | N/A | Browser-side |
| JSON-LD Playground | Parser only | No | Fast | Browser-side |
| Validator.JSON-LD.org | Yes (basic) | No | Fast | Browser-side |
The differentiators that matter most: this schema testing tool covers nine schema types in depth (Article, Product, FAQ, LocalBusiness, Organization, Person, Event, HowTo, Recipe), maps every error to a concrete fix instead of a vague warning, and runs entirely client-side so confidential pre-launch markup never leaves your machine. Furthermore, it ships with an @graph-aware parser, so you can validate combined Article + BreadcrumbList + Organization payloads in a single call — something most lightweight checkers refuse to handle.
How to Use This Schema Validator
- Paste your JSON-LD code into the editor on the left. You can also click Paste to read from your clipboard, or click Example to load a sample Article schema.
- Review results instantly. Validation runs in real time as you type. The right panel shows detected schema types, a property checklist, and any errors or warnings.
- Click any error or warning to expand it. You will see a description of the problem, a code example showing the fix, and a link to the relevant Google documentation.
There is no submit button and no server processing. Everything runs locally in your browser, so your code never leaves your machine.
Schema Markup Validation: What Gets Tested
The schema validator performs three levels of checks on your structured data, and each level builds on the previous one. In total, the schema check runs ten distinct tests on every payload:
- Schema type detection — the validator reads
@typeand routes the payload to the type-specific rule set (Article, Product, FAQPage, etc.). - Required property enforcement — required properties are flagged as red errors that block rich-result eligibility.
- Recommended property reporting — missing recommended properties (like
imagefor Article) become yellow warnings. - Type-specific recommendations — for example, the schema markup tester warns when
Articlelacksimage, whenProductlacksoffers, or whenLocalBusinesslacksaddress. - JSON syntax errors — trailing commas, unquoted keys, mismatched brackets, and invalid escape sequences are pinpointed with a line number.
- Deprecated property detection — the validator flags properties that schema.org has retired or replaced.
- Multiple-type conflict resolution — when a single object declares incompatible types, the structured data tester explains the conflict.
- Date and duration format checks — ISO 8601 enforcement for
datePublished,dateModified, and durations likecookTime. - URL absolute-form validation — relative URLs in
image,url, andlogoare rejected, because Google requires absolute URLs. - Nested-object
@typepresence — the JSON-LD checker verifies every nested object (author,publisher,offers) declares its own@type.
Specifically, each level builds on the previous one:
1. JSON Syntax Validation
First, the tool parses your input as JSON. If the syntax is invalid — trailing commas, missing brackets, unquoted keys — you will see a specific error with the line number, a description of the problem, and a suggestion for fixing it. Schema validation cannot proceed until the JSON is well-formed.
2. Schema.org Vocabulary Checks
Next, the validator confirms that your @context points to schema.org and that your @type is a recognized type. It also checks that nested objects (such as author, offers, or address) have valid @type properties and correct structure.
3. Google Rich Results Requirements
Finally, the tool checks every property against Google's structured data documentation. It distinguishes between:
- Required properties (red errors) — Google will not generate rich results without these.
- Recommended properties (yellow warnings) — Adding these improves the quality and likelihood of rich results.
In addition, the validator checks value formats: ISO 8601 dates, valid URLs, correct enum values, and ISO 8601 durations. As a result, you catch formatting issues that other validators miss.
Supported Schema Types
This schema markup validator currently supports 14 schema types that are eligible for Google Rich Results. These cover the majority of structured data used by websites.
| Schema Type | Rich Result | Common Use |
|---|---|---|
Article | Top stories, rich article results | Blog posts, news articles |
Product | Price, availability, reviews | E-commerce product pages |
LocalBusiness | Knowledge panel, Maps | Physical businesses, restaurants |
FAQPage | FAQ dropdowns in SERP | FAQ sections on pages |
HowTo | Step-by-step in SERP | Tutorials, instructions |
Event | Event listings | Concerts, conferences, meetups |
BreadcrumbList | Breadcrumb trail in SERP | Site navigation hierarchy |
Organization | Knowledge panel | Company and brand pages |
WebSite | Sitelinks searchbox | Homepage schema |
Recipe | Recipe card in SERP | Food and cooking content |
VideoObject | Video carousel | Video content pages |
JobPosting | Google for Jobs | Job listing pages |
SoftwareApplication | App information panel | Software and app pages |
Course | Course list in SERP | Online learning platforms |
Subtypes are also supported. For example, NewsArticle and BlogPosting validate as Article, while Restaurant validates as LocalBusiness.
What Each Schema Type Is Used For
Choosing the right type matters as much as filling out the properties correctly. Here is what each supported type signals to search engines:
- Article — news, blog posts, and editorial content. Required for inclusion in Top Stories and AMP carousels. See our guide on canonical URLs for how Article schema interacts with canonicalization.
- Product — e-commerce listings. Combined with
OfferandAggregateRating, it produces price, availability, and star-rating snippets in SERPs. - LocalBusiness — physical locations. Powers Knowledge Panel display, Google Maps integration, and "Open / Closed" badges.
- FAQPage — frequently asked questions. Note: Google now restricts FAQ rich results to government and health authority sites, but the schema still helps AI search engines understand your content.
- HowTo — step-by-step instructional content. Validates step ordering, time estimates, and tool requirements.
- Event — concerts, conferences, webinars. Requires start and end times in ISO 8601 plus a structured
location. - BreadcrumbList — site navigation hierarchy. Replaces the URL with a labeled trail in the SERP.
- Organization — company and brand pages. Powers Knowledge Panel social links and the official logo display.
- WebSite — homepage-only schema that activates the Sitelinks Searchbox and helps with brand-name disambiguation.
- Recipe — food and cooking content. The richest snippet in Google: photo, rating, prep time, calories, ingredients.
- VideoObject — video pages. Required for video carousels and "Key Moments" markup.
- JobPosting — job listings. Eligible for Google for Jobs vertical search.
- SoftwareApplication — web apps, mobile apps, and tools. Powers app information panels and ratings display.
- Course — online learning content. Eligible for the courses carousel in education-related queries.
Common Schema Markup Errors and How to Fix Them
After validating thousands of JSON-LD snippets, these are the errors that appear most often. Fortunately, most of them are easy to fix once you know what to look for.
Missing @context
Every JSON-LD block must begin with "@context": "https://schema.org". Without it, search engines cannot interpret the structured data. In fact, this is the most fundamental requirement of any JSON-LD implementation.
{
"@context": "https://schema.org",
"@type": "Article",
...
}
Missing Required Properties
Google requires specific properties for each schema type. For example, an Article requires headline and image. Similarly, a Product requires name plus at least one of offers, review, or aggregateRating. If these are absent, Google will not generate rich results for your page.
Invalid Date Formats
Dates must follow ISO 8601 format. For instance, common mistakes include using "February 24, 2026" or "24/02/2026" instead of the correct "2026-02-24". Similarly, durations should use the ISO format: "PT1H30M" for 1 hour and 30 minutes, not "90 minutes".
Trailing Commas in JSON
JSON does not allow a comma after the last property in an object or array. This is one of the most common syntax errors, especially for developers who write JavaScript. Consequently, {"name": "Test",} will fail to parse.
Missing @type in Nested Objects
Nested objects like author, publisher, and offers need their own @type. For example, an author should be {"@type": "Person", "name": "..."}, not just {"name": "..."}. While some search engines may still process incomplete nested objects, adding @type ensures compatibility across all platforms.
Relative URLs Instead of Absolute
URLs in structured data should be fully qualified. Use "https://example.com/image.jpg" instead of "/image.jpg". Google explicitly requires absolute URLs for properties like image, url, and logo.
Wrong Data Type for a Property
Schema.org properties expect specific data types. For example, price on Offer must be a string or number, not a string with a currency symbol like "$19.99". Similarly, aggregateRating.ratingValue must be numeric, and FAQPage.mainEntity must be an array of Question objects, not a single object. The schema markup test flags these type mismatches and shows the expected shape inline.
Mismatched name and Visible Heading
If your Article.headline says one thing but the rendered <h1> says another, Google may suppress rich results entirely. The same rule applies to Product.name, Recipe.name, and Event.name. Therefore, always run a schema markup checker against the live page after deployment, not just against the source code.
FAQ Schema with Promotional or Duplicate Questions
A common FAQ schema validator failure: questions that are paraphrases of each other, marketing copy disguised as a question, or answers that promote an unrelated product. Google's FAQPage policy explicitly bans these, and the validator will surface them as quality warnings even though the JSON parses cleanly.
Multiple @type Conflicts
You can declare a single object as multiple types — for example, "@type": ["Recipe", "HowTo"] — but the validator checks for incompatible combinations. As a result, mixing Article and Product in one object surfaces an error because the required-property sets contradict each other.
JSON-LD Best Practices for Structured Data
Following these best practices will help you get the most out of your schema markup implementation. As a result, you will avoid common pitfalls and maximize your chances of earning rich results.
- Use JSON-LD format. Google recommends JSON-LD over Microdata and RDFa. It is easier to implement and maintain because the structured data lives in a separate
<script>block rather than being mixed into HTML attributes. - Place JSON-LD in the
<head>. Although Google can read JSON-LD anywhere in the HTML, placing it in the<head>ensures it is parsed early and avoids issues with JavaScript-rendered content. - Include all recommended properties. Required properties are the minimum for eligibility. However, adding recommended properties improves the richness and likelihood of your result appearing. More complete markup generally outperforms the bare minimum.
- Use specific types over generic ones. If you run a restaurant, use
Restaurantinstead of the genericLocalBusiness. More specific types provide richer signals to search engines. - Validate before and after deployment. Test your markup during development, then re-check the live page. JavaScript rendering, CMS modifications, and caching can alter what search engines actually see.
- Combine multiple schema types per page. A typical page might need
Article+BreadcrumbList+Organization. Use an@grapharray to include multiple types cleanly. This validator supports@graphout of the box. - Keep structured data consistent with visible content. Google penalizes markup that contradicts what users see on the page. The
name,description, and other properties must match the actual page content.
This Tool vs. Google Rich Results Test
Both tools validate structured data, but they serve different purposes. Therefore, understanding when to use each one will save you time.
| Feature | This Validator | Google Rich Results Test |
|---|---|---|
| Input method | Paste code (real-time) | URL or paste code |
| Validation speed | Instant (as you type) | Several seconds per test |
| Fix suggestions | Code examples + explanations | Error messages only |
| Property checklist | Visual required/recommended checklist | Not available |
| JavaScript rendering | No (code only) | Yes (full Chromium rendering) |
| Rich result preview | Not available | Visual SERP preview |
| Live URL testing | Code-only (for now) | Yes |
| Runs locally | Yes (browser-only, no server) | No (Google servers) |
Recommended workflow: Use this schema markup validator during development to write and debug your JSON-LD code with instant feedback. Then use the Google Rich Results Test on the live page to verify how Googlebot renders and interprets your markup.
When to Use Each Tool
- Use this schema validator when: you are writing or editing markup, debugging a specific error message, iterating on JSON-LD before deployment, working under NDA where code cannot be uploaded, or validating multiple variations rapidly.
- Use Google Rich Results Test when: the page is already live, you need to confirm how Googlebot renders JavaScript-injected markup, or you want a visual SERP preview of the rich result.
- Use both in sequence: validate locally with this schema markup tester first to fix all syntactic and structural issues, then run the live URL through Google's tool to catch JavaScript-rendering and crawl-time issues. This combination catches roughly 95% of schema-related rich-result failures.
For deeper context on how Google fetches and renders pages before validation, see our guide on crawl budget and how it affects schema discovery.
Why Schema Markup Matters for SEO
Schema markup helps search engines understand the content and context of your pages. Without it, Google has to infer what your page is about from text alone. With structured data, you are telling Google exactly what entities exist on the page and how they relate to each other.
The practical benefits are significant. Pages with valid structured data can earn rich results — enhanced search listings with star ratings, prices, FAQ dropdowns, recipe cards, event dates, and more. These rich results typically achieve higher click-through rates than standard blue links.
Moreover, structured data is becoming increasingly important for AI-driven search. As search engines generate AI summaries and answer boxes, they rely more heavily on structured data to extract and verify facts. Consequently, pages with comprehensive, accurate schema markup are more likely to be cited and featured.
That said, schema markup is not a ranking factor by itself. It does not directly boost your position in search results. Instead, it qualifies your pages for enhanced presentation that can indirectly improve performance through higher CTR and engagement. Schema also will not fix slow page-load issues — for that, see our guide on Core Web Vitals. For a deeper understanding of how search engines discover and process your structured data, read our guide on crawl budget. Once you have validated your markup here, pair this schema testing tool with the SERP snippet preview to see how the result will appear, and use the structured data coverage planner to map which schema types every page on your site should carry.
Frequently Asked Questions
A schema markup validator is a tool that checks your structured data for correctness. It verifies that the JSON-LD, Microdata, or RDFa markup on your page follows the schema.org specification and meets search engine requirements for rich results. This validator specifically checks JSON-LD against both schema.org rules and Google's structured data guidelines.
All three are formats for embedding structured data in web pages. JSON-LD uses a JavaScript object notation block placed in a <script> tag, keeping it separate from the HTML. Microdata adds attributes directly to HTML elements. RDFa also uses HTML attributes but follows RDF (Resource Description Framework) syntax. Google recommends JSON-LD because it is easiest to implement, maintain, and debug.
Yes, completely free with no limits. There is no registration, no account required, and no restrictions on the number of validations. Furthermore, everything runs in your browser — your code is never sent to a server.
The validator currently supports 14 schema types that are eligible for Google Rich Results: Article, Product, LocalBusiness, FAQPage, HowTo, Event, BreadcrumbList, Organization, WebSite, Recipe, VideoObject, JobPosting, SoftwareApplication, and Course. Subtypes like NewsArticle, BlogPosting, and Restaurant are also recognized.
The Google Rich Results Test crawls a live URL and renders JavaScript, which this tool does not do. However, this validator provides instant feedback as you type, includes a visual property checklist, and gives actionable fix suggestions with code examples. The best approach is to use this tool during development and the Rich Results Test for final live-page verification.
Passing validation means your markup is technically correct. However, Google considers additional factors before displaying rich results: page quality, domain authority, user intent, and algorithmic decisions. In other words, eligibility does not guarantee display. Additionally, some rich result types have been restricted — for example, FAQ rich results are now limited to government and health authority sites.
Yes. This validator supports the @graph syntax, which allows multiple schema objects in a single JSON-LD block. For example, you can validate an Article, BreadcrumbList, and Organization together. The tool will show separate validation results for each type.
Schema markup is not a direct ranking factor. Google has stated this clearly. However, structured data qualifies your pages for rich results — enhanced SERP listings that often achieve higher click-through rates. This indirect benefit, combined with better content understanding by search engines, makes schema markup a valuable part of any technical SEO strategy.
A pure JSON-LD validator only checks whether the JSON syntax is well-formed and parses correctly. A full schema validator goes further: it confirms that @type values match recognized schema.org vocabulary, that required properties for each type are present, and that the markup meets Google's rich-result requirements. This tool combines both layers in one pass.
Paste your JSON-LD into the validator above. Validation runs as you type, so you see errors and warnings instantly. The recommended workflow: run this schema markup checker first to fix structural issues, then deploy to a staging URL and run the Google Rich Results Test on that URL to confirm Googlebot renders the markup correctly.
Yes. The validator checks FAQPage structure, including mainEntity as an array of Question objects, each with an acceptedAnswer property containing an Answer object with a non-empty text. It also flags common FAQ schema validator issues such as duplicate questions, marketing copy disguised as questions, and answers that violate Google's FAQ policy.
Absolutely. Most WordPress SEO plugins (Yoast, RankMath, Schema Pro) inject JSON-LD into the <head>. Open the live WordPress page, view source, copy the <script type="application/ld+json"> block, and paste it into the validator. The schema markup tester will flag any plugin-specific issues such as missing image, malformed publisher.logo, or duplicate BreadcrumbList blocks.
This validator accepts pasted code, not URLs. To check structured data on a live URL, fetch the page (View Source in your browser, or curl -s https://example.com/page/), copy the <script type="application/ld+json"> block, and paste it here. For URL-based testing including JavaScript rendering, use the Google Rich Results Test — the two tools complement each other.
A schema org validator checks three things: (1) that @context resolves to https://schema.org or http://schema.org, (2) that @type matches a vocabulary entry from the schema.org hierarchy, and (3) that property names belong to that type or one of its parents. This tool layers Google rich-result requirements on top, so passing here means you meet both schema.org and Google's stricter rules.
Yes. The JSON-LD checker validates HowTo structure, including required step array with HowToStep objects, optional tool and supply arrays with HowToTool and HowToSupply nested types, and ISO 8601 duration formats for totalTime, prepTime, and performTime. It also warns when image is missing on individual steps, since that reduces rich-result quality.
For technical SEO audits where you process dozens of URLs, you want a schema markup checker that combines instant feedback with explicit fix mappings. This tool fits that workflow: paste the JSON-LD from each URL, scan the validation results, copy the suggested fixes into a punchlist for the dev team. Because it runs locally, you can audit confidential pre-launch sites without uploading anything to a third party.
Warnings indicate missing recommended properties or quality concerns that do not block rich-result eligibility but reduce the richness of the result. For example, a Product with name, image, and offers will earn a basic rich result, but adding aggregateRating, review, and brand produces a richer, more visually prominent listing. Therefore, fixing warnings is optional but typically improves CTR.
Re-run the schema check any time you (1) edit a page that carries structured data, (2) update an SEO plugin that injects JSON-LD, (3) migrate to a new CMS or theme, or (4) see a sudden drop in rich-result impressions in Google Search Console. As a rule of thumb, run a portfolio-wide audit quarterly and a spot check after every major content release.
Search engines are lenient parsers. Google can interpret some malformed schema and still display rich results — for now. However, this leniency is not guaranteed and can disappear with any algorithm update. The reverse is also true: technically perfect schema may not earn rich results because of unrelated quality factors. The safe approach is to fix every error this structured data tester flags, even if the live page currently displays a rich result.