JSON-LD Validator
Check JSON-LD syntax and selected structure and Google-feature rules for six schema.org types.
Results are provided as is, for general information. Check anything important before relying on it. See the Terms of Use.
About this tool
Paste JSON-LD or a whole HTML page to run limited checks in your browser. HTML input is parsed for application/ld+json scripts; graph arrays and multiple nodes are supported. The tool checks JSON syntax, selected expected properties and shapes, selected Google-feature requirements and recommendations, and keys outside its local registry. It covers Article, FAQPage, BreadcrumbList, Organization, LocalBusiness and Product. These checks are not full schema.org validation or live Google eligibility testing. FAQPage keeps its local structure checks and reports that Google retired FAQ rich results on May 7, 2026; it has no Google rich-result requirements here.
When to use it
Questions
What does "valid" mean here, versus Google's Rich Results Test or the schema.org validator?
This tool runs a limited local checklist for six types; a passing result is not a full vocabulary or eligibility assessment. The Schema Markup Validator at validator.schema.org checks schema.org vocabulary. Google's separate Rich Results Test at search.google.com/test/rich-results checks features it currently supports. Google retired FAQ rich results on May 7, 2026, so FAQPage markup should be assessed as vocabulary support rather than eligibility for that retired feature.
What is the difference between a required and a recommended property?
The tool separates its own minimum structure checks from selected Google-feature checks. A missing property in the local checklist is an error here, not a universal schema.org requirement. Google-specific errors and recommendations apply only to the rules this tool implements; warnings do not prove or disprove eligibility. FAQPage has a local mainEntity check but no Google-required fields here because the FAQ feature was retired.
Why are properties the type doesn't define only shown as info, not errors?
schema.org is deliberately permissive: a node can carry any property, and consumers ignore the ones they do not understand. An unexpected property is far more often a harmless extra — a custom field, a property from a broader parent type, a typo you will spot — than a real problem, so flagging it as an error would cry wolf. The tool surfaces it as information so you can check whether you meant `datePublished` and wrote `publishDate`, without treating a deliberate extension as a failure.
Can extra properties hurt my rich result?
Not directly. Google reads the properties it needs and ignores the rest, so an unknown or surplus property will not disqualify the page. The reason to keep the block clean anyway is human: every stray property is something a future editor has to understand, and a misspelled property name that you meant to be a real one is invisible until you notice the rich result never appeared. Remove what you do not need, and make sure what remains is spelled the way schema.org spells it.
Does it handle @graph and multiple blocks on one page?
Yes. When the payload is an object with an @graph array, each node in the array is checked separately. When you paste an HTML page, every <script type="application/ld+json"> element is found and each one is checked — so a page with an Article block and a separate BreadcrumbList block gives you two sets of results. Each node is reported under its own @type heading so you can see which block a message belongs to.
My @type is an array like ["WebPage", "FAQPage"] — is that allowed?
Yes. This tool takes the first recognised type in the array and applies its local checks. For ["WebPage", "FAQPage"], it checks FAQPage and includes the Google retirement notice. It does not validate every declared type or establish Google feature eligibility. An array with no recognised type gets an informational note.
If everything passes here, will I definitely get a rich result?
No. Passing these limited checks does not rule out missing requirements, unsupported features or content-policy issues. Use the Schema Markup Validator for vocabulary checks and Google's separate Rich Results Test for currently supported features. FAQPage remains a schema.org type, but Google stopped showing FAQ rich results on May 7, 2026.
Why does it matter that the values match the visible page?
Google's structured-data policies require the marked-up content to be present and visible to the user. A price in your Product markup that differs from the price on the page, review stars with no reviews shown, FAQ answers that do not appear in the body — each is a policy violation that can trigger a manual action removing rich results across the whole site. This tool checks the shape of your JSON-LD; it cannot see your page, so keeping the values honest and in sync with what renders is on you.