Schema Markup Validator for JSON-LD
Check JSON-LD structured data for schema.org compliance errors before it ships to production.
Validation report
Everything runs in your browser. Nothing you paste is uploaded or stored.
How it works
- 1
Paste your JSON-LD
Paste the raw JSON, or the full <script type="application/ld+json"> tag, either format is detected automatically.
- 2
Check for JSON syntax errors first
If the JSON itself doesn't parse, the exact line and column of the syntax error is shown before any schema checks run.
- 3
Review the detected type
The declared @type is shown at the top, determining which set of field requirements are checked.
- 4
Fix flagged required fields
Each failing check explains exactly which property is missing or incorrectly structured.
- 5
Review recommended fields
Info-level notes highlight fields that aren't strictly required but strengthen the markup.
About the Schema Markup Validator for JSON-LD
Structured data that is technically valid JSON can still be completely invalid as schema markup, missing a required property, using the wrong nesting, or leaving a related object as a plain string where schema.org expects a full nested type. A JSON syntax checker would happily pass all of these, since they are perfectly valid JSON, they are just wrong according to schema.org's own rules for the declared type. This tool checks specifically for that gap, validating JSON-LD against schema.org's actual field requirements for Article, Product, FAQPage, Organization, and BreadcrumbList types.
Two separate layers of correctness
There are two genuinely different things that can go wrong with a JSON-LD block. The first is basic JSON syntax, a missing comma, an unclosed bracket, which makes the entire block fail to parse at all. The second, and the one this tool focuses on, is schema compliance, the JSON parses perfectly fine, but the structure doesn't match what schema.org actually expects for the declared @type, a required field is missing, or a field that should be a nested object is left as a flat string instead. This tool checks both, but the schema-specific checks are what set it apart from a general purpose JSON validator.
Why nested objects trip people up the most
The single most common schema mistake is leaving a field as a plain string when schema.org expects a nested object with its own @type. An Article's author should be a nested Person or Organization object with a name, not just the string "Jamie Rivera" directly. A Product's offers should be a nested Offer object containing price, priceCurrency, and availability, not those fields sitting flat on the Product itself. This distinction matters because it usually doesn't throw a syntax error, the JSON is still perfectly valid either way, it just silently fails to communicate what it was supposed to communicate, which is exactly the kind of mistake a syntax-only checker would never catch.
Required versus recommended fields
Not every missing field carries the same weight. Some fields are genuinely required, an Article without a headline or a Product without a name isn't valid schema at all, regardless of what else is present. Others are recommended but not strictly required, an Article's dateModified or an Organization's sameAs social profile links, present would strengthen the markup's usefulness for search features like Knowledge Panels, but their absence doesn't invalidate the schema outright. This tool distinguishes between the two, flagging genuine requirement failures clearly while noting recommended-but-optional gaps separately.
Valid schema is a floor, not a guarantee
Passing every check here confirms the markup is structurally correct and meets schema.org's requirements for its declared type, which is a genuine prerequisite for rich result eligibility. It does not guarantee that a search engine will actually display an enhanced result for that content, search engines apply their own additional quality signals, content policies, and discretion on top of technically valid markup. Treat a clean validation report as clearing a necessary bar, not as a promise about how a page will actually appear in search results.
Runs entirely in your browser
All checks run entirely in your browser, nothing you paste is sent to a server. If you don't have JSON-LD to validate yet, our JSON-LD Schema Generator builds correctly structured markup for these same five types through a simple form, a natural first step before checking the result here, both part of the same Technical SEO Tools collection this tool belongs to.
Frequently asked questions
Is this the same as checking for valid JSON syntax?
No, this checks schema.org compliance specifically, required properties, correct nesting, and type-specific structure, beyond just whether the JSON itself parses correctly.
Does a passing check guarantee rich results in Google?
No, valid schema markup is a requirement for rich results eligibility, not a guarantee, since search engines apply their own additional criteria and discretion.
Why does the validator flag my author or publisher field even though it has a value?
Some fields need to be nested objects with their own @type, not plain strings. An author should be a nested Person object with a name, for example, not just the name as a flat string.
Which schema types does this tool check in detail?
Article (and NewsArticle, BlogPosting), Product, FAQPage, Organization, and BreadcrumbList have detailed field-level checks. Other types are checked for basic JSON-LD structure only.
What's the difference between a required and recommended field warning?
A required field failure means the schema is genuinely invalid for its type. A recommended field note flags something that would strengthen the markup but doesn't invalidate it if left out.
Can I paste the full script tag, or just the JSON?
Both work, the tool automatically detects and extracts the JSON from a full <script type="application/ld+json"> tag if one is pasted.
Does this tool check every schema.org type that exists?
No, it has detailed rules for five of the most commonly used types. Less common types are checked for basic JSON-LD structure, valid @context and @type, without type-specific field validation.
Is my structured data uploaded anywhere?
No, all parsing and validation happen entirely in your browser. Nothing you paste is sent to a server.