JSON-LD Helper

Format, validate and inspect JSON-LD structured data.

  • Runs locally in your browser
  • No upload required

Try it

Or drop a .json file here.
Valid
yes
Nodes
1
Graphs
0
Node summary
$ WebSite
Findings
none
Formatted
{ "@context": "https://schema.org", "@type": "WebSite", "name": "Gampangin", "url": "https://gampangin.example/" }
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Gampangin",
  "url": "https://gampangin.example/"
}

Supported formats

Input
json
Output
json, text

Privacy

Runs entirely in your browser. Your input is never uploaded, stored, or sent to a third party.

Processing
In your browser
Privacy level
Browser only

Parsed 1 node(s) with 0 finding(s).

How it works

  • Parsed the JSON-LD with JSON.parse.
  • Walked arrays and @graph entries to collect each node's @type.
  • Checked each node's @context, @type and required properties for its type.
  • Missing required properties are reported; they do not prevent formatting.

Methodology

  1. Parse the input with JSON.parse and report a parse error without throwing.
  2. Recursively collect every node, expanding arrays and @graph lists.
  3. For each node, check @context, @type and the required properties of its supported type, then pretty-print the parsed JSON.

Usage

  1. Paste the JSON-LD (from a script tag or a generator).
  2. Optionally state the expected @type.
  3. Inspect the formatted output, the parsed nodes and the findings.

Examples

These are examples, not current values: they use fixed inputs, while the interactive tool computes live results in your browser.

A valid WebSite node

jsonSelect to copy
{
  "jsonLd": "{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"WebSite\",\n  \"name\": \"Gampangin\",\n  \"url\": \"https://gampangin.example/\"\n}",
  "expectedType": "WebSite"
}

A @graph with a missing property

jsonSelect to copy
{
  "jsonLd": "{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"name\":\"Gampangin\",\"url\":\"https://gampangin.example/\"},{\"@type\":\"Product\",\"name\":\"Sticker\"}]}"
}

Limitations

Inspecting JSON-LD

JSON-LD is JSON with a @context that maps its keys to schema.org terms. A page may embed several nodes in a @graph or as separate script tags.

The helper surfaces the parse result and the structural problems so you can fix them before shipping the page.

Frequently asked questions

Why is my JSON-LD valid JSON but still reported as having problems?
JSON syntax and structured-data completeness are different checks. The helper parses the JSON, then reports missing @context, @type or required properties.
Does the helper send my markup anywhere?
No. Parsing and inspection happen entirely in the page.

Sources

  1. W3C — JSON-LD 1.1 — W3C
  2. Schema.org — Getting started with JSON-LD — Schema.org