Schema Markup Validator
Structured data that almost validates is structured data that quietly fails to produce a rich result. Paste your JSON-LD block here and this validator confirms two things fast: that it parses as valid JSON, and that it includes the essentials every Schema.org item needs: an @context, an @type, and a name or headline. Think of it as the quick structural pre-check you run before the slower Rich Results Test: catch the broken bracket or the missing type in seconds.
How to check your schema markup
-
1
Paste your JSON-LD
Drop in the full `<script type="application/ld+json">` block or just the JSON object inside it. Any script tags are stripped automatically.
-
2
Run the check
The validator parses the JSON and, if it will not parse, points you at the exact syntax error to fix.
-
3
Read the result
It confirms the core keys are present (`@context`, `@type`, and a `name` or `headline`) or lists precisely which ones are missing.
-
4
Fix and re-check
Correct the snippet and run it again until it comes back clean, then take it to Google's Rich Results Test for the type-specific rules.
Common validation errors and how to fix them
When you take your markup to a full validator such as Google’s Rich Results Test, most failures come from the same short list of mistakes. Learning to spot them cuts debugging time dramatically.
Frequent offenders
| Error message | What it means | How to fix |
|---|---|---|
| Missing field “image” | Required field omitted | Add at least one image URL (absolute) |
| “datePublished” is not a valid date | Wrong format | Use ISO 8601: 2026-04-18 or with time+offset |
| Unknown type “Offers” | Wrong casing | Use Offer (singular) inside an offers array |
| Missing required field “price” | Product without price | Add price and priceCurrency in offers |
| Value of “author” is a string | Should be a Person/Organization object | Wrap as { "@type": "Person", "name": "..." } |
Duplicate @id |
Same identifier on two nodes | Use a unique @id per entity |
reviewCount of 0 with aggregateRating |
Star snippet requires at least 1 review | Remove the rating or wait until you have reviews |
| URL “/” (relative) | Parsers require absolute URLs | Use the full https://example.com/path |
Warnings vs errors
- Errors mean the rich result is ineligible. Fix these first.
- Warnings mean it is eligible, but a missing property would unlock a larger snippet (for example, adding
brandandskuto a Product).
Tips for reliable markup
- Check the structure before the deep validation. Fixing a broken bracket or a missing
@typehere saves a round-trip through the slower type-specific tools. - Keep markup in sync with content. Updating the page title without updating the
headlineis the fastest way to get flagged for inconsistency. - Prefer JSON-LD for maintainability: a single block is easier to check than properties scattered through the HTML.
- Monitor Search Console. Google logs structured-data errors and enhancements per type; check monthly.
Frequently Asked Questions
No. It means your JSON-LD is well-formed and carries the core keys. A rich result also needs the type-specific required properties, content that genuinely matches the markup, and Google’s quality thresholds. Use this to fix the basics fast, then confirm eligibility in Google’s Rich Results Test.
This is a lightweight structural pre-check: it confirms the JSON parses and that @context, @type and a name or headline are present. Google’s test goes further and validates the required properties for each eligible type. Run this first to clear the obvious breakage, then Google’s for the type-specific rules.
Yes. Paste the whole <script type="application/ld+json">…</script> block or just the JSON object inside it. The surrounding script tags are removed before parsing. Validate one block at a time.
No. The snippet is sent to our server only to run the check and is discarded straight after; nothing you paste is saved.
Related Tools
Page Speed Insights
Enter any URL and open a free speed audit in Google PageSpeed Insights, GTmetrix or WebPageTest to see Core Web Vitals and Lighthouse scores.
External Links Extractor
Paste raw HTML, optionally set a base URL, and get a clean de-duplicated list of every external http/https link the code contains for link audits and SEO reviews.
Link Shortener Decoder
Expand bit.ly, t.co, tinyurl and other short links. See every redirect hop, status code and the final destination before you click.
Meta Description Length Checker
Measure a meta description in characters and estimated pixels, compare editorial ranges, and inspect illustrative desktop and mobile previews.
Internal Links Extractor
Extract all internal links from a URL or pasted HTML with anchor text, rel attributes and nofollow status for SEO audits.
Metadata Extractor
Extract page metadata from any URL: title, meta description, Open Graph, Twitter cards, canonical URL and JSON-LD structured data.
Tool available in other languages
- Validador de Marcado de Esquema [ES]
- Schema 마크업 검증기 [KO]
- Validateur de balisage Schema [FR]
- Schema Markup-validator [SV]
- เครื่องมือตรวจสอบสกีมามาร์กอัป (Schema Markup Validator) [TH]
- スキーママークアップ検証ツール [JA]
- Schema-Markup-Validator [DE]
- Schema-markup-validator [NL]
- Trình xác thực đánh dấu Schema [VI]
- Validator Markup Skema [ID]
- مُدقّق ترميز المخطط (Schema) [AR]
- Walidator znaczników schema [PL]
- Validador de Marcação de Schema [PT]
- Validatore di Schema Markup [IT]
- Валидатор разметки Schema [RU]
- Şema İşaretlemesi Doğrulayıcı [TR]
- 结构化数据标记验证器 [ZH]