JSON-LD Structured Data Validator

Paste HTML or raw JSON-LD to validate FAQPage, BreadcrumbList, and Article structured data. Instantly spot missing required properties and common Google Rich Results mistakes.

Tips

  • For FAQPage, acceptedAnswer.text must always be a plain string. Putting an object or array there means Google's Rich Results cannot parse it.
  • For BreadcrumbList, keep position as a sequence starting at 1. Gaps or duplicates prevent it from being recognized as a valid breadcrumb trail.
  • Keep Article's headline to around 110 characters or fewer, which is Google's rough guideline; longer headlines can be truncated in search results.
  • You can paste an entire HTML page — the tool automatically extracts the contents of any <script type="application/ld+json"> block. Pasting just the raw JSON also works.
  • If a page has multiple structured data blocks, keeping each one in its own <script> tag makes them easier to maintain and debug.

Frequently Asked Questions

JSON-LD stores structured data as JSON inside its own <script> tag, completely separate from the visible HTML. Microdata and RDFa instead embed markup directly into HTML attributes (such as itemprop), which requires changing the existing HTML structure. Google now recommends JSON-LD, and its simplicity of implementation has made it the dominant format.

Structured data itself is not a direct ranking factor. However, correctly implemented FAQPage or BreadcrumbList markup can enable Rich Results — such as expandable FAQ snippets or breadcrumb trails in search results — which can improve click-through rate (CTR) even without a ranking change.

Schema.org requires acceptedAnswer.text to be a plain text string. If it is mistakenly set to an object or array (for example, a nested structure like { "value": "the answer" }), Google's Rich Results Test will flag it as a warning or error.

Yes, that is perfectly fine. FAQPage, BreadcrumbList, Article, and other schema types can each be written in their own <script type="application/ld+json"> block on the same page. This tool detects and validates multiple blocks and multiple entities from a single input.

Use the Enhancements reports in Google Search Console, or Google's official Rich Results Test tool, against your live published URL to see exactly how Google is interpreting it. This tool is best used as a self-check during drafting or right after making a fix, before publishing.
ツールくん

Side Note — Why JSON-LD replaced Microdata and RDFa

JSON-LD (JSON for Linking Data) originated as a Linked Data format standardized by a W3C community group in the early 2010s. Unlike the older structured-data notations, Microdata and RDFa, which embed markup directly into HTML element attributes, JSON-LD lives entirely inside a <script> tag as an independent block of JSON. That means structured data can be added, edited, or removed without touching the surrounding HTML layout at all. Google began favoring JSON-LD as its recommended format around 2015, and its current Rich Results documentation is written almost entirely around the JSON-LD syntax.

This site's own FAQ sections work the same way: authors write each question and answer once, and a matching FAQPage JSON-LD block is generated automatically behind the scenes. There is no need to hand-write the same content twice — once for the human-readable accordion and once for the machine-readable schema — so the two never drift out of sync the way manually duplicated markup tends to.

Even syntactically valid JSON can fail Rich Results if it is missing a property Schema.org requires, or a property Google recommends. Deeply nested fields like acceptedAnswer.text are a classic place to get the structure wrong. Running a check like this before publishing catches those mistakes earlier than waiting to notice an error later in Search Console's Enhancements report.

→ Browse all trivia