Schema Validator
Validate any JSON-LD against Schema.org type expectations — required fields, allowed value types, nested object structure — without checking Google's rich-result rules.
Why Schema.org Validity Is Separate From Rich-Result Eligibility
There are two distinct questions about any JSON-LD block, and they get conflated constantly. Question one: is this valid Schema.org? Does the type exist, do the required properties have correct value types, are nested objects structured properly? Question two: will Google render this as a rich result? The answer to question one is universal and unchanging. The answer to question two depends on Google's current policies, which shift. This tool answers question one cleanly. For Google-specific eligibility, see the Rich Results Tester. Both checks matter; mixing them produces noisy results.
How the Validator Reads Your Schema
Paste any JSON-LD block — a single object, an array, an HTML page containing multiple blocks. The parser extracts each `@type`, looks it up in the bundled Schema.org type catalog, and validates against its expected properties. For each property, three checks: is it recognized at all (typos like `auther` for `author` are surfaced), does its value match the expected type (Date string vs DateTime, URL vs Text, Person vs Organization), and for required-when-applicable properties, is it present? Nested objects (a Recipe inside a HowTo, a Person inside an Article's `author`) are validated recursively. The output is a tree view with green check marks on valid properties and red labels on mismatches. Nothing leaves the browser.
For validating against a generic JSON Schema rather than Schema.org type expectations, the JSON Schema Validator runs ajv 8 over your schema and document with full error reporting.
Frequently Asked Questions
Where does the Rich Results Tester fit alongside this one?+
Schema validation and rich-result eligibility are separate questions. This tool answers whether the markup conforms to the Schema.org vocabulary. The Rich Results Tester answers whether Google will render it as a rich result, which depends on Google's current rules and changes over time. A block can be valid Schema.org but earn no rich result.
Does the validator require all properties or just the required ones?+
It distinguishes. Required properties produce a failure if missing. Recommended-by-Schema properties produce a warning. Optional properties produce no message unless their value type is wrong.
Which Schema.org version does the tool target?+
The bundled type catalog tracks the latest stable Schema.org release as of the page's footer date. Schema.org is backward-compatible; older valid markup continues to validate.
Can the validator handle linked-data references?+
It validates each block standalone — if your markup references another node by `@id`, the validator notes the reference but does not resolve it across blocks. For graph-level validation, paste both blocks together as an array.
Does it check for spelling mistakes in property names?+
Yes — any property not recognized by the type's vocabulary is flagged as unknown. Common typos (`auther`, `dateModified` vs `datemodified` casing) are caught.
What about types that extend other types?+
The validator walks the inheritance chain — properties defined on a parent type are recognized on its children. For example, Recipe inherits from HowTo, so a Recipe block with HowTo's `step` property validates correctly.
Will the validator accept any @context value?+
It accepts `https://schema.org` and `http://schema.org` as the canonical contexts. Custom contexts produce a warning but do not block validation since some publishers use namespace prefixes for legitimate reasons.
Does pasted content get sent to a server?+
Never. The type catalog, the validation rules, and the parser all run client-side. The tool makes no network requests during validation.
Built by Derek Giordano · Part of Ultimate Design Tools
Privacy Policy · Terms of Service