Inspect JSON-LD entities and common schema fields

Paste an object, an array, an @graph document or a full <script type="application/ld+json"> block to list the entities it declares and to flag duplicate @id values, missing fields and malformed dates. This is a field-level review in your browser, not a full JSON-LD validator and not a guarantee of Google rich results.

Runs locally in your browser
This tool processes all data locally in your browser.
JSON-LD documentPaste an object, an array, an @graph document, or a full <script type="application/ld+json"> block.

How to inspect JSON-LD entities, @id values and schema fields

The page parses one JSON-LD document — an object, an array, an @graph document, or a complete <script type="application/ld+json"> block copied out of a page — and lists every node object that declares an @type. Nested nodes are included, so an Article with an author and a publisher reports three entities.

The checks are field checks: a declared @context, a schema.org reference, duplicate @id values, and the fields Google lists as required for Article, Product, FAQPage, BreadcrumbList, Organization and WebSite. The document is never expanded and nothing is fetched, so this is a review of one snippet, not a URL-level verdict.

  1. Paste the JSON-LD into the left pane, or press Load example for a two-entity @graph document.
  2. Press Inspect JSON-LD. A document that cannot be parsed reports the line and column of the error instead of a formatted result.
  3. Read Detected entities on the right: each card shows the @type values and the headline, name or @id that identifies the node.
  4. Read the finding list below the cards. Duplicate @id values are reported as errors, missing fields and malformed dates as warnings, and optional advice as notes.
  5. Copy or download the formatted JSON-LD, then press Clear to reset the panes before the next document.

What this page checks, and what it leaves to a full JSON-LD validator

What is checked

The walk records whether any object declares @context and whether the document mentions schema.org anywhere. A top-level array whose nodes each carry their own @context passes, because JSON-LD allows that shape; a document with no @context at all is reported once instead of twice.

Field checks run per type. Article, NewsArticle and BlogPosting are checked for headline, image, datePublished and author, and datePublished must be an ISO 8601 date — 2026-02-30 and 20260102 are both reported. Product is checked for name and offers, FAQPage for mainEntity, BreadcrumbList for itemListElement, and Organization and WebSite for name. Each duplicate @id is reported once per repeat.

What the page does not do

It does not fetch a URL, expand the document, resolve remote contexts or validate against the JSON-LD specification: a document can pass every check here and still fail a conformance test. It also cannot tell whether the markup matches the visible page, which is what Google compares before it grants a rich result.

Treat the result as a field-level review of one snippet. For a URL-level verdict, combine this page with the Rich Results Test and the Schema Markup Validator, and remember that valid markup is a requirement for a rich result, not a ranking factor on its own.

Handling real-world snippets

Snippets copied out of a page often arrive with a BOM, a trailing newline or the whole <script type="application/ld+json"> block; all three are accepted, and a syntax error is reported as a line and column taken from the parser message.

A failed run clears the output pane, the entity cards and the previous findings, so an older document can never be mistaken for the current one. Nothing is uploaded: the document, the findings and the downloadable file stay in the browser, and the page keeps working offline once it has loaded.

Recent tools: