Schema Markup Validator
Enter a URL or paste JSON-LD. The checker reads every structured data item, tests it against Google's rich result requirements and tells you what to fix, in plain words.
- Free, no sign-up
- Google's rules, October 2026
- URL or pasted code
- Nothing is stored
We load the page's HTML the way a crawler does on its first pass, without running JavaScript. Nothing is stored.
How to use the schema markup validator
- Enter the URL of a live page, or switch to Paste code and paste JSON-LD or the page's full HTML source.
- Read the summary. It counts the structured data items on the page, how many qualify for a Google rich result, and how many errors and warnings there are.
- Fix the errors first. An error means the item cannot get its rich result: a required property is missing, a value has the wrong format, or the JSON is broken. Warnings are recommended properties: the item still qualifies, but Google has less to work with.
- Check again after publishing, then run the page through Google's Rich Results Test and watch the Enhancements reports in Search Console over the next weeks.
What the results mean
| Label | What it means | What to do |
|---|---|---|
| Eligible | Google has a rich result for this type and every required property is in place. | Nothing required. Work through the warnings if there are any. |
| Not eligible | Google has a rich result for this type, but something required is missing or invalid. | Fix every error listed under the item. |
| Google no longer shows it | The type used to earn a rich result. FAQ results ended on May 7, 2026; how-to results are gone too. | Keep the markup if it describes the page; just don't expect the rich result. |
| Basics checked | Google has a rich result for this type (Dataset, Course, Q&A and others), but this tool only checks syntax and type. | Test the page in Google's Rich Results Test for the full rules. |
| No Google rich result | Valid schema.org with no Google feature: WebPage, Service, Person on its own. | Nothing to fix. It still describes the page to search engines and AI assistants. |
Eligible does not mean guaranteed. Google decides per query whether to show a rich result, and the markup must match content people can see on the page.
Which rich results are checked
The checker applies Google's documented requirements, read in October 2026, to these features:
| Google feature | schema.org types | Required |
|---|---|---|
| Local business | LocalBusiness and its subtypes: Plumber, Dentist, Restaurant… | name, address |
| Organization | Organization, Corporation, OnlineStore… | Nothing required; logo, url and sameAs recommended |
| Article | Article, NewsArticle, BlogPosting | Nothing required; headline, image, dates and author recommended |
| Breadcrumb | BreadcrumbList | At least two items, each with position and name, and item on all but the last |
| Product snippet | Product | name, plus offers, review or aggregateRating |
| Review snippet | Review, AggregateRating | Rating value, author or rating count, and a supported itemReviewed |
| Event | Event and its subtypes | name, startDate, location with an address |
| Video | VideoObject | name, thumbnailUrl, uploadDate |
| Software app | SoftwareApplication, MobileApplication, WebApplication | name, offers.price, and a rating or review |
| Recipe | Recipe | name, image |
| Job posting | JobPosting | title, description, datePosted, hiringOrganization, jobLocation |
| Profile page | ProfilePage | mainEntity with a name |
| Site name | WebSite (home page only) | name, url |
A subtype is checked by its family's rules: a RoofingContractor is checked as a local business. Items inside an @graph are checked one by one, and {"@id": …} references are followed within the same block, so an author defined once in the graph counts for every article that points to it.
The errors we see most often
- Broken JSON. A trailing comma, a missing quote or a comment inside the script tag. Browsers don't care, but Google drops the whole block. The validator shows the line and column.
- Relative URLs.
"image": "/logo.png"instead ofhttps://example.com/logo.png. JSON-LD does not resolve paths against the page, so use full URLs everywhere. - Prices with symbols.
"price": "$129.99"is not a number. Write"price": "129.99"and put the currency in"priceCurrency": "USD". - Ratings without a count.
AggregateRatingneedsratingCountorreviewCountnext toratingValue. - Dates without a timezone.
2026-10-18T09:00is read in Google's timezone. Add the offset:2026-10-18T09:00:00-05:00. - Stars on your own business. Review markup on a LocalBusiness or Organization page about that same business is self-serving. Google ignores it for stars, including reviews embedded from widgets.
- Wrong context.
"@context"must point tohttps://schema.org. A typo there makes every type in the block unknown.
What changed in 2026
Google stopped showing FAQ rich results on May 7, 2026, for every site, after limiting them to government and health sites in 2023. FAQPage markup is still valid and still read; it just no longer adds rows under your result. We wrote about whether to keep FAQ schema. How-to rich results are gone as well, and HowTo is no longer in Google's structured data gallery.
Limits of this checker
- JSON-LD only. Microdata and RDFa are counted but not checked. Google recommends JSON-LD, and most sites use it.
- No JavaScript. The page's HTML is read as the server sends it. If a plugin or tag manager adds the markup in the browser, the checker won't see it; Google's Rich Results Test renders the page and will.
- Google's rules, not the whole vocabulary. It checks what Google requires and recommends for each rich result, not every property schema.org defines.
- Visible content is not compared. Markup that claims a price, rating or date the page doesn't show breaks Google's guidelines, even when the code is valid.
Building markup from scratch? The local business schema generator writes LocalBusiness JSON-LD that passes these checks. For a review of structured data, crawling and indexing across a whole site, see our technical SEO services.
Schema validator FAQ
Two things. First, that each JSON-LD block is valid JSON: one stray comma and Google ignores the whole block. Second, that each item has what Google requires for its rich result: a Product needs a name and an offer, review or rating; an Event needs a name, start date and a venue with an address. Missing required properties are errors, missing recommended ones are warnings.
The Schema.org validator checks the vocabulary but not Google's rules. Google's Rich Results Test checks Google's rules and renders JavaScript, but explains little. This tool checks Google's rules for the common rich results and says in plain words what to fix. For markup that JavaScript adds after the page loads, use the Rich Results Test.
Google stopped showing FAQ rich results on May 7, 2026, for every site. The FAQPage markup is still valid and still describes your questions and answers to search engines and AI assistants, so there is no need to delete it. It just no longer earns the expandable rows under your result.
Google shows review stars for a LocalBusiness or Organization only on sites that review other businesses. Ratings a business publishes about itself, including ones pulled in from a review widget, are self-serving and are not eligible. The markup is not penalized, it is simply ignored for stars.
Not necessarily. Valid markup makes a page eligible; Google decides whether to show the rich result based on the query, the page and the site. Markup also has to describe content that is visible on the page.
Some sites block automated visitors through Cloudflare or similar services. Open the page in your browser, view the source (Ctrl+U on Windows, Option+Command+U on a Mac), copy it and paste it into the Paste code tab.
No. Pasted code is checked in your browser and never leaves it. For a URL, our server loads the page once, builds the report and discards the HTML.
Get a free technical SEO audit
Structured data is one line of the audit. We check crawling, indexing, Core Web Vitals and markup across the whole site and send a prioritized list of fixes.