Direct answer: Paste JSON-LD or a full HTML block and the tool does four things locally: extracts every application/ld+json block and parses it; flattens arrays and @graph; checks required fields for 13 common @type values; and compares name/headline with the visible text you paste. It makes no requests, does not crawl, and does not promise rich results.

In our own scans, structured data is the thinnest layer: 5 of 25 analysable homepages carried JSON-LD, 1 of 13 product pages, and 0 of 20 contact pages used ContactPage. "Is it there" is only the first question. The second — "does it work once added" — has almost no tooling and is usually checked by reading source by hand.

Four questions only

Does it parse?
Are @graph nodes counted?
Are the required fields for this @type present?
Does the name appear on the page?

The tool: paste → check

      #@typeNameIn visible textIssues

      With no visible text, consistency is marked "not checked"; duplicate @id and missing recommended fields are warnings, not blockers.

      In the default sample the Organization is complete and the Product is missing offers, so you see one error and a few suggestions; both names appear in the visible text, so both rows show "found". Delete the product name from the text and it flips to "not found" with a warning.

      Rules

      @typeRequired (error)Recommended (warning)
      Organizationname, urllogo, sameAs, address
      LocalBusinessname, addresstelephone, url
      Productname + one of offers/review/aggregateRating—
      FAQPagemainEntity (array)question name + acceptedAnswer.text per item
      BreadcrumbListitemListElementposition, name/item per item
      BlogPosting / NewsArticle / Articleheadline, author, datePublishedimage
      WebSite / WebPage / ContactPageurl (WebSite also needs name)name
      Personname—

      These required sets are this tool's rule of thumb, not a schema.org validity test; other @types are still parsed and text-checked with a "no built-in rule" note.

      Five common failures

      1. Parse failure. Trailing commas, single quotes, comments and BOMs all break JSON.parse; the page looks fine while the whole block is dead.
      2. @graph not flattened. Many sites wrap nodes in @graph; reading only the top-level @type yields zero nodes.
      3. Duplicate @id. The same entity declared in several blocks with different fields leaves no clear source of truth.
      4. Missing key fields. A Product with only a name, or a FAQPage whose mainEntity is not an array: syntactically fine, but no result.
      5. Markup that does not match the page. Names, prices or ratings that are not visible; consistency checking is the cheapest screen.

      Boundaries

      • No fetching: it only analyses pasted text and does not know the live output.
      • Not a full validator: schema.org inheritance is not modelled, and nested nodes (e.g. inside publisher) are not checked.
      • No rich-result guarantee: passing syntax and fields is only a candidate condition; display is up to the search engine.
      • Names only: price, rating and dates need more context and are left to manual review.

      Tests and recalculation

      The logic lives in js/jsonld-check.js (no dependencies, no network); scripts/test_jsonld_check.js covers 60 assertions: extraction, arrays and @graph, parse errors, the 13 type rules, FAQ/breadcrumb structure, duplicate @id, text normalisation and matching, unknown types, empty input and the English locale. Run:

      node scripts/test_jsonld_check.js

      Related: the 12 acceptance clauses (item 5 is structured data), the evidence-pack builder, the 30-site scan (JSON-LD 5/25) and the 15 product pages (JSON-LD 1/13).

      Sources and definitions

      1. schema.org types and properties: schema.org.
      2. JSON syntax: RFC 8259: rfc-editor.org.
      3. Organisation details in the sample come from this site's public pages; the product name only demonstrates a missing field and is not a product claim.
      About the author

      Lingyi Information Official (delivery team) works on requirements, solutions and acceptance for corporate websites, brand systems and smart manufacturing projects. This is a rules implementation and method note; a result describes only the pasted text and promises nothing about indexing, rich results, ranking or citations.

      Make structured data an acceptance item

      Bring the current JSON-LD and page list. We check parsing, fields and visible-text consistency page by page, and leave recheckable evidence.

      Request a structured-data review