JSON-LD Schema Validator
Catch broken JSON-LD before you publish. Paste full script tags or raw JSON, validate syntax per block, confirm schema.org context and @type, and get line-ready pass/fail for FAQ, Article, Product, and WebSite markup with no signup plus per-block isolation with context-type confirmation and eligibility triage for blogs consoles handoffs migrations shops and learners across SEO workflows.
Use this JSON-LD Schema Validator to check pasted schema markup for syntax errors and confirm a schema.org context before testing.
Calculator Inputs
About JSON-LD Check
Catch broken JSON-LD before you publish. Paste full script tags or raw JSON, validate syntax per block, confirm schema.org context and @type, and get line-ready pass/fail for FAQ, Article, Product, and WebSite markup with no signup plus per-block isolation with context-type confirmation and eligibility triage for blogs consoles handoffs migrations shops and learners across SEO workflows.
Syntax-validates embedded JSON-LD and flags non-schema.org contexts. Semantic validation still needs Google Rich Results Test.
What it checks: Braces, quotes, commas per block plus @context equals https://schema.org and @type present. Multiple script blocks validated independently.
What it does not: Required-property eligibility, nesting rules, or Google feature support. Pass here means parseable, not guaranteed rich result.
Workflow: Paste page source ld+json as-is, including script tags. Fix red Invalid JSON lines first (usually trailing comma), then context warnings.
Privacy: Parsing runs locally. Markup never uploads.
Limits: No URL fetch, no Microdata/RDFa, no schema.org vocabulary version check.
Launch QA gates: Austin bloggers QAing $1,000 launches catch brace errors before Google indexes broken markup. New York publishers protecting $500,000 rich-result traffic validate every template deploy on 09/22/2026.
Agency handoffs: Chicago agencies handing off $20,000 builds attach validation screenshots proving markup health. Denver startups migrating $2M themes diff validation before and after cutover.
Catalog validation: Miami shops validating $300,000 product feeds confirm offer blocks parse with prices intact. Boston clinics marking $250,000 service pages qualify FAQ displays.
Block isolation: Multiple script blocks validate independently, so one broken FAQ never masks a healthy Product block. Phoenix restaurants winning $80,000 reservation clicks isolate menu markup per location.
Eligibility triage: Syntax passes here, then required-property checks, then Rich Results Test confirms Google actually awards displays. Seattle SaaS shipping $9M docs runs all three gates per release.
Where it is used
Pre-publish QA for blog schema, debugging Search Console unparsable structured data errors, agency handoff checks, theme migration audits, e-commerce Product and Review markup reviews, and learning schema by testing snippets safely Austin bloggers QA $1,000 launches, Chicago agencies hand off $20,000 builds, Miami shops validate $300,000 catalogs, Denver startups migrate $2M themes, Seattle SaaS ships $9M docs, New York publishers protect $500,000 rich results, Boston clinics mark $250,000 service pages, and Phoenix restaurants win $80,000 reservation clicks.
How to use the JSON-LD Check
- JSON-LD Block — enter the value (e.g. {"@context":"https://schema.org","@type":"WebSite","name":"My Site"}).
- Calculate — press the Calculate button to see the result instantly above.
Formula
Extract ld+json script blocks or raw JSON → JSON.parse each → verify @context is https://schema.org → report @type per block.
Examples
Valid WebSite
Two blocks
Broken comma
Frequently Asked Questions
- Does this replace Rich Results Test?
- No — it only checks syntax/context, not eligibility.
- Script tags or raw?
- Both. Paste full <script> blocks or just JSON. Extractor handles either.
- http vs https context?
- Both accepted as schema.org. Prefer https://schema.org for new markup.
- Missing @type?
- Flagged as unknown. Add @type like Article, FAQPage, or Product.
- Graph arrays?
- @graph first-node type checked. Deeper nodes need Rich Results Test.
- Private?
- Yes. All parsing is local in your browser.