JSON that parses
Reports the line and column of the first syntax error and shows the surrounding lines, with hints for trailing commas and curly quotes.
Paste JSON-LD or a full page’s source and get plain-English errors, warnings and fixes, checked against Google’s structured data requirements. Line-level JSON errors, 20+ schema types. Free, no sign-up, and nothing leaves your browser.
A schema markup validator checks structured data, usually schema.org JSON-LD, for two things: whether the code is valid, and whether it includes the fields Google expects for that content type.
It finds broken JSON, a missing @context or @type, and missing required or recommended properties before you publish. This one runs entirely in your browser, so unpublished markup is never uploaded.
It does not replace Google’s Rich Results Test, which is the only way to confirm eligibility for a specific live page.
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How schema works",
"datePublished": "13/10/2026", // not ISO 8601
"author": { "@type": "Person" } // missing name
}
✗ author: Person is missing name
▲ datePublished should be 2026-10-13
▲ image is recommended for ArticleMost failures come from a handful of causes. Each one has a quick fix.
| Problem | Severity | Usual cause | Fix |
|---|---|---|---|
| Invalid JSON | Error | Trailing comma, curly quotes, comments or unescaped quotes | Fix the character at the reported line and column, then run Format JSON |
Missing @context | Error | Block starts at @type | Add "@context": "https://schema.org" |
Missing @type | Error | Object has properties but no declared type | Declare a type such as Article or Product |
| Missing required field | Error | Google needs it for that rich result, for example Offer.price | Add the field named in the report |
| Missing recommended field | Warning | Optional property left out | Add it where it is true and visible on the page |
| Date not ISO 8601 | Warning | Dates written as 13/10/2026 or “Oct 13” | Use 2026-10-13 or a full timestamp |
| Relative URL | Warning | /logo.png instead of a full address | Use an absolute https:// URL |
| Price with a symbol | Warning | "price": "$49.99" | Use "49.99" plus priceCurrency |
Unresolved @id | Note | A node points to an id that is not in this block | Fine if defined elsewhere on the page, otherwise add the node |
Each tool answers a different question. Use this one while you write, then Google’s test before you ship.
| Tool | Question it answers | Input | Google rich result eligibility |
|---|---|---|---|
| This validator | Is my JSON-LD valid and complete for Google’s documented fields? | Pasted code or page source, no live URL needed | Checks documented required and recommended fields, runs offline |
| Google Rich Results Test | Can this page qualify for a Google rich result? | Live URL or pasted code | Authoritative for Google features |
| Schema Markup Validator | Is my markup valid schema.org vocabulary? | Live URL or pasted code | Not Google-specific |
Six checks run on every block, plus field rules for the types listed below.
Reports the line and column of the first syntax error and shows the surrounding lines, with hints for trailing commas and curly quotes.
Confirms each block declares schema.org and a type, and understands blocks that share one @context across an @graph.
Compares each item against Google’s documented properties for its type, including nested offers, authors and breadcrumb entries.
Flags relative URLs, dates that are not ISO 8601, prices with currency symbols and ratings that are not numbers.
Notes when a node points to an @id that is not defined in the same block, so you can tell broken links from intentional ones.
Paste a whole page and each application/ld+json block is validated on its own. Microdata and RDFa are detected and flagged.
Any JSON-LD gets the structural checks. These types also get field-level checks.
Valid is not the same as eligible. Google now shows FAQ rich results only for well-known government and health sites, and has retired HowTo rich results and the sitelinks search box. Markup for these can still be valid, so the validator reports a note rather than an error.
Four steps, from paste to publish.
Drop in JSON-LD, or paste a page’s full source to check every block on it.
Press Validate, or Ctrl or Cmd plus Enter. Results update as you edit.
Errors break the markup. Warnings improve it. Each message names the field and gives an example.
Publish, then test the live URL in Google’s Rich Results Test and watch Search Console.
Quick answers on what validation can and cannot tell you.
A schema markup validator checks structured data, usually JSON-LD, for valid syntax and for the properties search engines expect. It finds errors such as broken JSON, a missing @type or a missing required field before you publish.
Yes. It is completely free, with no sign-up, no watermark and no limit on how many times you validate.
No. This tool checks syntax and documented fields in your browser. Only Google’s Rich Results Test and Search Console can confirm whether a live page is eligible for a rich result.
No. The rules are built into the page as JavaScript and your markup is parsed in your browser. Nothing is uploaded, stored or logged, so unpublished or confidential markup stays private.
Yes. Paste a full page and every application/ld+json block is found and checked separately. Blocks that use @graph are validated item by item.
An error is something that breaks the markup or a field Google documents as required for that type. A warning is a recommended field or a formatting issue. Warnings will not invalidate the schema, but fixing them can improve rich result eligibility.
No. Google decides eligibility per page, and some features are limited to certain kinds of sites. Valid markup is necessary for a rich result but never a guarantee.
Google says AI features need no special markup. Structured data still helps search engines understand a page, and it should match the visible content. Clear, crawlable content matters most.
Google applies its own page-level rules, including content policies and which features each site can use. This tool checks documented fields only, so always confirm important pages with Google’s Rich Results Test.
Use the Schema Markup Generator Hub to build JSON-LD for common types, then check it here before publishing.
Build the markup, then check it here before you publish.
Search Savvy’s technical SEO team implements, tests and monitors structured data on every template, not just one page at a time.