Free tools / schema-markup-validator

FREE TOOL · JSON-LD

Schema markup validator

Paste your JSON-LD, or a whole page of HTML, and see which blocks do not parse, what each type is missing, and where two blocks describe the same thing. Every rule links the page it comes from.

free · no signup parse · required · duplicates recommended rows never count as errors

Check markup

Paste mode runs in your browser: the checking code is part of this page, and what you paste is not sent anywhere.

idle · paste JSON-LD or HTML, then check it

READ THIS BEFORE THE FINDINGS

Almost nothing in schema is required, so every row says who says so

schema.org defines properties and requires none of them. Google’s Search Central lists required and recommended properties for the types it documents, and only for those. So each rule carries its basis, and the basis caps how loudly it can complain.

Google’s docs

Google’s page for the type lists the property. The row links that page. A LocalBusiness with no address is the clearest case.

can be an error

Mechanical

Not an opinion. A block that does not parse, a node with no type, a FAQ question with no answer text.

can be an error

schema.org

The value is not the shape schema.org gives for the property: a logo that is not a URL, a date that is not ISO 8601.

never above a warning

House

Our suggestion, named as ours: a second Organization block on one page, or a property no documentation recommends but a reader would want.

never above a warning

The rule sets, and the pages they were read from

Rule sets in v1 — every source read 2026-09-13
TypeRequiredRecommendedChecked against
Organization012Google's page says there are no required properties. Every row is recommended.. Google’s page · schema.org · generator
LocalBusiness and its 30 schema.org subtypes211Name and address, per Google. The address rows follow its advice to include as many PostalAddress properties as possible.. Google’s page · schema.org · generator
Product28Name and the offer price, per Google's product-snippet page, plus its rule that one of offers, review or aggregateRating must be present. Ratings and reviews are noted as present, not checked.. Google’s page · schema.org · generator
Article, BlogPosting, NewsArticle09Covers BlogPosting and NewsArticle too. Google's page says there are no required properties.. Google’s page · schema.org · generator
FAQPage40Google removed its FAQ documentation on 2026-06-15, so there is no Google list to cite. These rows check schema.org's Question and Answer shape, and in URL mode each answer against the page's visible text.. schema.org · generator
WebPage04Nobody documents a list. Every row is our suggestion.. schema.org
WebSite04Nobody documents a list. Every row is our suggestion.. schema.org

Any other type is parsed, checked for duplicates, and reported as “no rule set in v1”. That is not a clean result and not a finding.

Recommended rows are a separate list

A missing recommended property shows under its node, in its own list, with the page that recommends it. It is never added to the error or warning counts. A page can be clean and still carry recommended rows; keeping them apart is the point.

THE THING A CLEAN RESULT DOES NOT MEAN

A clean result describes the markup, nothing more

What a clean result tells you

Every block parses, every node has a type, and each node carries what the cited documentation lists for its type, in the shape schema.org expects.

What it does not look at

Search features. This is not Google’s Rich Results Test, and nothing here predicts what a search engine displays or how a page ranks.

Microdata and RDFa. Counted, not validated in v1. A page carrying only those is never reported as having no structured data.

Schema added by JavaScript. Not measured in URL mode, which reads the HTML the server sends.

Whether the values are true. A real phone number, a logo that loads. Shapes only.

QUESTIONS

What people ask before they trust it

Is this Google's Rich Results Test?

No. The Rich Results Test is Google's own tool, and only Google can say how Google reads a page. This checks your JSON-LD against the property lists Google publishes and against schema.org, and links every rule to its page so you can read the source yourself.

Why does it show so few required properties?

Because very few exist. schema.org requires nothing, and Google's Organization and Article pages both say there are no required properties. The required rows here come from Google's LocalBusiness and Product pages, plus four mechanical checks that a FAQ question and its answer are actually there.

Do missing recommended properties count against me?

No. They sit in their own list under each node, with the page that recommends them, and are never added to the error or warning counts. Some are Google's recommendations and some are ours; each row says which.

Why would a URL check miss schema I can see in my browser's inspector?

The inspector shows the page after its scripts ran. URL mode reads the HTML the server sends, like a crawler that runs no JavaScript, so markup a script adds later is not measured. To check what the script writes, copy the rendered markup into paste mode.

What happens to the code I paste?

Paste mode runs in your browser: the checking code is part of this page, and what you paste is not sent anywhere. URL mode is different. A browser cannot read another site's HTML, so the address you enter goes to our server, which fetches that one page.

MARKUP IS ONE THING A CRAWLER READS

Valid schema on a page
a crawler can actually read.

The AI Readiness Score reads your page back the way a non-rendering crawler gets it, finding by finding.

Score my site free free · no card