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
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.