</> Web Validators

JSON-LD Validator

Validate JSON-LD as JSON-LD: contexts, keywords, node and value objects -- not just as JSON.

A JSON validator tells you the braces match. This checks the layer above, where most JSON-LD is actually broken: a block with no @context resolves none of its terms, a mistyped keyword is dropped silently along with its value, and a node object shaped like a value object states nothing at all.

Based on: W3C JSON-LD 1.1 · Schema.org

About this validation

Checks JSON-LD as JSON-LD rather than as JSON: contexts, keywords, node objects and value objects. Remote contexts are not fetched and the expansion algorithm is not run, so terms defined by a custom context are accepted rather than resolved.

Protocol / standard:
Rules reviewed:
Nov 15, 2026

SEOTechTests methodology: Parses each application/ld+json block, reporting a JSON syntax error with its line and column, then checks the document as JSON-LD: a @context must be present or no term resolves, keys beginning with @ must be defined keywords, a value object may only carry @type, @language, @index and @direction alongside @value, and @id and @type must be strings. Remote contexts are not fetched and expansion is not run.

Standards and vendor-documented behavior can change. This reflects the source as last reviewed above, not a permanent guarantee.

FAQ

My JSON-LD is valid JSON. Why does this report errors?

Valid JSON is the floor, not the ceiling. A block with no @context parses perfectly and resolves none of its terms; a mistyped keyword such as @tpye is silently dropped along with its value. Those are JSON-LD errors, and a JSON validator cannot see them.[1]

Does it fetch my @context?

No. Remote contexts are not downloaded and the expansion algorithm is not run, so a term defined by a custom context is accepted rather than resolved. Check schema.org terms with the Schema.org validator, which does resolve them against the vocabulary.[1]

Can I put several objects in one block?

Yes -- either as a top-level array or under @graph, and this tool reads both. A page describing an Organization and a WebSite usually does it with @graph and shared @id references.[1]