Schema.org Validator
Check a page's structured data against the schema.org vocabulary -- in JSON-LD, Microdata and RDFa at once.
Reads every typed object on the page and checks it against schema.org itself: the type exists, each property is declared on that type or one it inherits from, and values match the declared range. schema.org defines no required properties for any type, so nothing here is reported as a missing requirement -- rules of that kind belong to a particular search engine, not to the vocabulary.
Based on: Schema.org · Schema.org — Full Hierarchy +3 more
About this validation
Checks structured data against the schema.org vocabulary itself -- types that exist, properties each type accepts, terms that are superseded or still pending -- across JSON-LD, Microdata and RDFa. schema.org defines no required properties for any type, so nothing is reported as a missing requirement; rules of that kind belong to a particular search engine, not to the vocabulary.
- Protocol / standard:
- Rules reviewed:
- Nov 15, 2026
SEOTechTests methodology: Reads JSON-LD, Microdata and RDFa out of the page, then checks every typed object against a committed copy of schema.org's own machine-readable release: the type must exist, each property must exist and be declared on that type or one of its supertypes, and values must match the property's declared range where that range is a URL, a date, a duration or an enumeration. Terms that schema.org has superseded or left in its pending or attic areas are reported as such rather than as errors.
Standards and vendor-documented behavior can change. This reflects the source as last reviewed above, not a permanent guarantee.
FAQ
Does schema.org require any properties?
No. schema.org is a vocabulary, not a constraint language: it defines what terms mean and which types accept them, and it never says a Product must carry an offer. Rules of that kind belong to a particular consumer -- Google's rich result requirements, Yandex's supported schemas -- so this validator reports vocabulary conformance and does not invent requirements on schema.org's behalf.[1]
Which syntax should I use: JSON-LD, Microdata or RDFa?
They express the same vocabulary. Google recommends JSON-LD; Yandex documents microdata and says JSON-LD processing is not guaranteed. This tool reads all three and reports what each produced, so a page using several can see whether they agree.[3]
Why is a property reported as not belonging to its type?
schema.org declares each property on one or more types through domainIncludes, and a type inherits every property declared on its supertypes. A property declared only on CreativeWork is therefore valid on an Article but not on a Person. Putting it there is not an HTML error and nothing will complain at you -- the property is simply ignored by whatever reads the page.[1]