Free Schema Markup Validator for AI Search
Paste any JSON-LD and we'll check the syntax, required fields, and AI-readiness rules in your browser. Instant, no sign-up, no data leaves your device.
Paste your schema
Results
Paste your JSON-LD and click Validate. We'll check the JSON syntax, required fields per type, and common Google Rich Results pitfalls.
What is Schema Validation?
Schema validation is the process of checking your JSON-LD structured data against two independent contracts: the Schema.org vocabulary specification (which defines what @types and properties exist and how they nest), and Google's Rich Results guidance (which defines what fields a given schema type must include to unlock visual rich-result features in search). A piece of markup can be syntactically valid JSON, structurally correct schema.org, and still fail to produce a rich result because it's missing a Google-required field. All three layers matter.
In 2026, validation matters for a third reason: AI search engines have their own implicit requirements. ChatGPT, Perplexity, Gemini, and Google's AI Overviews all weight certain schema signals much more heavily than others. Missing a description, using an anonymous author, leaving out dateModified, or shipping schema with malformed URLs measurably reduces your citation rate in AI responses, even when the schema is technically valid by the old rules. Our validator codifies both the deterministic rules (JSON syntax, required fields, format correctness) and the softer AI-citability rules (description depth, entity connections, freshness signals) as errors versus warnings respectively.
The validator runs entirely in your browser. Paste JSON-LD, click Validate, see results in under 50ms. No round-trip, no server, no rate limit. This makes it fast enough to drop into your development loop: paste, validate, fix, paste again. Generator tools produce valid output by construction — but any time you hand-edit schema, copy it from a CMS, or merge multiple sources, you want to re-validate before pushing.
Why Validate Before Publishing?
Schema that looks valid can fail in production for reasons you'd never catch by eyeballing the JSON. The most common failure modes we see across schemas we've validated:
- Missing required fields: Google silently drops rich-result eligibility when a required field is absent — no email, no warning, the result just doesn't appear. Product without offers, Article without publisher, Event without startDate — these all produce clean-looking JSON that Google won't render.
- Malformed URLs: A URL field set to /image.jpg (relative) or www.example.com/image.jpg (missing protocol) validates as a string but fails as a URL. Most validators catch this; many CMS platforms silently export relative paths.
- Invalid date formats: A datePublished set to "January 15, 2026" or "2026/01/15" is wrong — must be ISO 8601. Many hand-edited schemas get this wrong; AI engines either reject the date (losing freshness signal) or guess (often wrong).
- Wrong nested type: A Question whose acceptedAnswer is a string instead of an Answer object. A Review whose author is a string instead of a Person object. These validate as JSON but violate the schema.org contract.
- Price-currency mismatches: Product offers with a price but no priceCurrency, or with priceCurrency set to "$" or "dollar" instead of the ISO 4217 "USD". Google rejects these silently; AI shopping assistants ignore them.
- Position gaps in BreadcrumbList: Positions 1, 2, 4 (missing 3) or 1, 3, 2 (out of order). Either breaks Google's breadcrumb trail rendering. Our validator flags both.
Running schema through a validator before every deploy catches all of these. Skipping validation is how mature sites end up with thousands of pages silently ineligible for rich results — the kind of problem that only surfaces when a competitor overtakes you on a query you thought you owned.
What This Validator Checks
JSON syntax
Validates the document parses as JSON. Surfaces the exact error message and approximate position so you can fix it quickly.
@context presence and correctness
Ensures @context is present at the top level and points to schema.org. Warns on non-standard contexts.
@type presence and known values
Every entity must have @type; unknown types get a warning so you know type-specific rules didn't run.
Required fields per type
Each type has its own required-field list derived from Google Rich Results documentation and schema.org base contracts.
URL format
All URL fields (url, image, logo, sameAs, contentUrl, etc.) are checked for absolute http(s) format.
ISO 8601 dates
datePublished, dateModified, uploadDate, startDate, endDate are validated against ISO 8601 patterns — date, date-time, and date-time with timezone.
ISO 8601 durations
totalTime (HowTo) and duration (Video) validated against the PT...H...M...S pattern.
Nested type correctness
Question/Answer, ListItem, HowToStep, Rating, Offer, and PostalAddress are all checked for the correct @type.
@graph flattening
Multi-entity @graph wrappers are transparently handled — each entity is validated with its own path prefix.
Script tag stripping
Paste the full <script type="application/ld+json">...</script> block and the wrapper is stripped before parsing.
AI-citability warnings
Short descriptions, missing sameAs links, missing dateModified, unnamed authors — all flagged as warnings.
Client-side only
Nothing leaves your browser. Safe for confidential schemas (unreleased products, staging content, etc.).