Check a page
Schema markup validator
Check the JSON-LD on any live page, or paste code, against Google's required properties. Broken JSON is pinpointed by line and column, and retired rich results are labelled.
Free · No signup · Reads public pages only
How it works
Enter a page address, or switch to Paste code and paste your JSON-LD or the page's HTML.
We find every structured data block and check each type against Google's rules.
Fix what's flagged, then confirm with Google's Rich Results Test.
What the validator checks
It finds every script tag of type application/ld+json and checks:
- That each block is valid JSON. One stray character hides the whole block from every search engine, so a JSON error is reported with its line, its column and the likely cause: a trailing comma, a missing comma, single or curly quotes, or a comment.
- That each item has a @context and a @type, spelled exactly. Types are case-sensitive, so Localbusiness isn't LocalBusiness.
- Google's required properties for the types it supports, such as a Product's offer or rating, and the recommended ones that improve the result.
- Values Google can read: ISO dates, full URLs, numeric prices with a three-letter currency code, and ratings inside their scale.
The URL check also lists any microdata or RDFa types it finds on the page. Those aren't validated here.
Reading the result
Problems are missing requirements or values Google can't read. Fix these first: Google won't use that item for a rich result until they're fixed. "Worth fixing" means a recommended property is missing or a value is shaky. Notes explain things that aren't wrong, such as markup for a feature Google has retired.
"What Google can do with it" then says, type by type, whether Google still shows a rich result for it. FAQ rich results stopped appearing in Google on May 7, 2026, and how-to results in September 2023, so even perfect markup for those won't change how you look in Google. The outline below that shows what each block says, property by property, so you can compare it with the visible page.
Valid isn't the same as eligible
Passing every check means the markup is well-formed and complete. Google still decides whether to show a rich result, based on the page's quality and whether the markup matches what visitors see. Markup describing things that aren't on the page, or review stars a business gives itself, can be ignored or lead to a manual action.
The URL check reads the HTML before JavaScript runs. If your markup is injected by JavaScript or a tag manager, Google may still find it after rendering, but most AI crawlers won't, and this tool won't either. Paste the rendered code from your browser's developer tools to check it.
Common errors and their fixes
- "@context is missing": add "@context": "https://schema.org" to the top-level object.
- "price includes a currency": write 19.99 in price and USD in priceCurrency.
- "isn't a full address": URLs in markup should start with https://.
- "has a time but no time zone": add the offset, like 2026-11-20T19:00-05:00.
- "isn't a Schema.org type": check the spelling and capitals of @type.
- "comma after the last property": delete the comma before the closing brace.
Which validator to trust
Use this tool for a quick read in plain English, then confirm with the two official checks. Google's Rich Results Test renders the page and lists exactly which rich results Google sees. The Schema.org validator checks every Schema.org type and property, including ones Google ignores. They can disagree: markup can be valid Schema.org and still miss a Google requirement, which is the gap this validator focuses on.
Questions people ask
Why does Google's Rich Results Test show something different?
It renders JavaScript, so it sees markup added after the page loads, and it only reports types Google supports. This tool reads the HTML before scripts run and also comments on types Google ignores or has retired.
Does it check microdata and RDFa?
No. The URL check lists the microdata and RDFa types it finds, but only JSON-LD is validated. Google reads all three formats; JSON-LD is the one it recommends.
My markup is valid. Why is there no rich result?
Google shows rich results at its discretion. It may not have recrawled the page yet, the page may not meet its quality bar, or the feature may be retired, like FAQ and how-to results.
Can I check a page behind a login or on a staging site?
Not by address: the URL check only reads public pages. Open the page in your browser, view its source, and paste it into the Paste code tab instead.
Is the schema validator free?
Yes, with no signup. A URL check reads one public page; pasted code is checked in your browser and never sent to us.
Want it done for you?
Romeo fixes structured data across your site
He reads the markup on every page, fixes what Google can't use, keeps it matching the page as your content changes, and sends each change for you to approve.

