Skip to content

Structured data

Schema markup validator

Paste a URL, your HTML or a JSON-LD block to validate your schema markup for free. The validator extracts every JSON-LD block, checks that it parses, checks the required fields for common types, and explains each error and warning that can block Google rich results.

  • Free
  • No signup
  • Checks run in your browser
URL or HTML

How it works

Paste, check, then confirm with Google

01

Paste a URL, HTML or JSON-LD

A URL is fetched for you with a ten second timeout; HTML or JSON-LD you paste is read as it is. Nothing you paste is stored.

02

Every block is checked

Each JSON-LD block, and each node inside a @graph, is parsed and checked for @context and @type, and for required fields on Organization, Article, Product, LocalBusiness, BreadcrumbList, SoftwareApplication and more. Microdata is detected and its type shown.

03

Fix, then confirm with Google

Fix the errors first, then the warnings that matter for your page. Then run Google's Rich Results Test, the authority on which rich results Google can show for the page.

Why it matters

What the validator checks, and how to read the results

Structured data tells search engines what a page is about in a standard format. Google says it uses structured data to understand a page and that it can enable rich results, such as review stars, prices and breadcrumbs. Broken markup fails quietly: malformed JSON, a missing required field or the wrong @type, and the page simply doesn’t qualify. The validator lists every problem it finds as an error or a warning.

Errors and warnings by schema type

TypeError whenWarning when
Every JSON-LD blockJSON that doesn't parse; a node with no @typeNo @context, or a @context other than schema.org; a type outside the checked set below
OrganizationNo nameNo url or logo
Article, BlogPosting, NewsArticleNo headline, author or datePublishedNo image or publisher; a headline over 110 characters
ProductNo name or offers; an offer with no price (or lowPrice)No image; an offer with no priceCurrency
LocalBusiness, Restaurant, Store, Dentist, MedicalBusinessNo name or addressNo telephone, opening hours or url
FAQPageNo mainEntity; a Question with no name or acceptedAnswer; an Answer with no textNone
BreadcrumbListNo itemListElement; a ListItem with no position, or with neither name nor itemNone
SoftwareApplication, WebApplication, MobileApplicationNo name or applicationCategoryNo operatingSystem; neither offers nor aggregateRating
MicrodataNoneAlways: the item and its type are listed, and the full check is left to Google's Rich Results Test

Any other schema.org type, such as Event, Recipe or Review, still gets the JSON, @context and @type checks. The validator just doesn’t know its required fields, and says so in a warning.

Errors vs warnings

An error means the item is broken or missing a field it needs. Fix every error first: Google says a page must include all the required properties to be eligible for a rich result, and a block that doesn’t parse is ignored entirely.

A warningmeans the markup is valid but a recommended field is missing, such as a product’s currency or a business’s phone number. The item can still qualify. Add a recommended field when you have accurate data for it; Google says fewer complete and accurate properties beat many badly formed ones. Google’s Rich Results Test uses the same split and reports results such as “valid items with warnings”.

Rich result eligibility: what valid markup does and doesn’t get you

Valid markup makes a page eligible. It never guarantees a rich result. Google’s structured data guidelines say it does not guarantee your structured data will show, even when the Rich Results Test passes. The same guidelines set three rules that no validator can check for you:

  • Mark up only what readers can see on the page. Hidden content in markup breaks the guidelines.
  • Keep it accurate and current. Fake reviews and out of date events can lose eligibility.
  • A structured data manual action removes rich result eligibility for the page; Google says it doesn’t affect how the page ranks in web search.

Rich result types also change. Google stopped showing FAQ rich results from May 7, 2026 and removed their documentation, so a valid FAQPage no longer earns the expandable questions in search. The validator still checks FAQPage markup, because the markup still describes the page. The Rich Results Test help page lists the types Google supports today, including Article, Breadcrumb, Local business, Organization, Product snippet, Review snippet, Software app, Event, Recipe and Video.

JSON-LD vs microdata vs RDFa

Google supports all three formats and says they are equally fine when valid, and recommends JSON-LD as the easiest to implement and maintain.

  • JSON-LD sits in a <script type="application/ld+json"> tag, apart from the visible HTML, so nested items like an address inside a business are easy to write. Google can also read JSON-LD that JavaScript adds after the page loads. This validator checks JSON-LD in full.
  • Microdataadds itemscope, itemtype and itemprop attributes to the visible HTML. The validator finds each item and its type; use Google’s test for the full check.
  • RDFaalso uses HTML attributes. This validator doesn’t read it; Google’s Rich Results Test and the Schema.org validator both do.

If you are choosing now, use JSON-LD. It lives in one block, so a redesign that rewrites the visible HTML leaves it intact.

Common schema errors and how to fix them

ProblemUsual causeFix
The block doesn't parseA trailing comma, curly quotes pasted from a word processor, an unescaped quote inside a string, or a // commentUse straight double quotes, escape quotes inside text as \", delete trailing commas and comments, then paste the block again.
Missing @typeThe node describes something but never says what it is, often inside @graphAdd "@type" to every node, for example "LocalBusiness" or a more specific subtype such as "Dentist".
@context warningNo @context at the root, or a misspelled or old vocabulary URLSet "@context": "https://schema.org" on the root object.
LocalBusiness missing addressThe address is in the page footer but not in the markupAdd address as a PostalAddress with streetAddress, addressLocality, addressRegion, postalCode and addressCountry, matching your Google Business Profile.
Product offer missing priceThe template outputs offers before the price loads, or for a variant with no priceOutput price and priceCurrency inside each Offer, or lowPrice and highPrice inside an AggregateOffer.
BreadcrumbList item missing positionA CMS plugin that builds the trail without numbering itGive each ListItem a position starting at 1, plus a name and an item URL.
Nothing found on a URL that has schemaThe markup is added by JavaScript after the page loads, and the fetch doesn't run JavaScriptOpen the page, copy the rendered HTML from your browser's developer tools and paste it in.

Google’s Rich Results Test ignores comments inside JSON-LD, but the JSON-LD standard doesn’t allow them, so a block with comments can pass Google’s test and still fail elsewhere. Remove them before you publish.

Rich Results Test vs Schema.org validator vs this tool

The three tools answer different questions, and most teams use more than one.

ToolWhat it checksUse it for
Google Rich Results TestThe rich result types Google supports, in JSON-LD, RDFa and microdata. Crawls a public URL as Google’s smartphone or desktop agent, checks robots.txt allows it, and can preview the result.The final word on whether Google can show a rich result for a page.
Schema.org Markup ValidatorAny schema.org type in JSON-LD, RDFa and microdata, including data added by JavaScript. It is based on Google’s old Structured Data Testing Tool and checks syntax and vocabulary, without Google’s feature requirements.Types Google has no rich result for, and checking the full extracted graph.
Rank.ai schema markup validatorEvery JSON-LD block, with required and recommended field checks for common types and a plain explanation of each error. Accepts a URL, raw HTML or a JSON-LD snippet, and runs in your browser.A fast first pass while you write or fix markup, before the Google test.

After launch, Google suggests watching the rich result status reports in Search Console, which catch markup that breaks later because of a template or serving change.

Schema markup, local search and AI answers

For a local business, LocalBusiness markup should repeat the name, address and phone on your Google Business Profile exactly; the NAP consistency guide covers why, and the location pages guide shows where the markup goes on each city page. Clinics have extra types to choose from, covered in schema markup for healthcare. Schema is one line of a full local SEO audit.

For AI answers, Google says its AI features need no special schema.org markup, only structured data that matches the visible text on the page. The Google search statistics page tracks how often AI Overviews appear and what they do to clicks. Check the rest of the page with the title tag checker, the robots.txt tester and the AI crawler checker, or work through the whole technical SEO audit checklist.

Frequently asked

What is a schema markup validator?
A tool that reads the structured data on a page and reports whether it is valid: whether the JSON parses, whether each item declares a type, and whether the fields that type needs are present. This one checks every JSON-LD block on a URL or in pasted HTML, and lists each problem as an error or a warning.
What schema types do you validate?
Required field checks cover Organization, Article, BlogPosting, NewsArticle, Product, LocalBusiness with subtypes such as Restaurant, Store, Dentist and MedicalBusiness, FAQPage, BreadcrumbList and SoftwareApplication. Other types still get JSON parsing, @context and @type checks; the validator just doesn't know their required fields.
What is the difference between an error and a warning?
An error means the item is broken or missing a required field, so it can't qualify for a rich result until you fix it. A warning means a recommended field is missing: the markup is still valid and can still qualify. Fix every error, then add recommended fields where you have accurate data.
Is this the same as Google's Rich Results Test?
No. Google's test is the authority on which rich results Google can show, and you should run it before launch. This tool catches the structural problems first, with a plain explanation of each: malformed JSON, missing required fields and shape errors in nested objects, such as breadcrumb items without a position.
Does valid schema guarantee rich results?
No. Google says it does not guarantee structured data will show in search results, even when the markup passes its Rich Results Test. Valid markup makes the page eligible; Google then decides per search. The markup also has to describe content readers can see on the page.
Do FAQ rich results still show in Google?
No. Google stopped showing FAQ rich results from May 7, 2026 and removed the documentation. FAQPage markup is still valid schema.org and still describes the page, so the validator checks it, but it no longer earns expandable questions in Google results.
Should I use JSON-LD or microdata?
JSON-LD. Google supports JSON-LD, microdata and RDFa equally when they are valid, and recommends JSON-LD because it is the easiest to implement and maintain. It sits in one script tag apart from the visible HTML, so template changes rarely break it.
Why didn't anything show up when I pasted my URL?
The page is fetched from our server with a ten second timeout, and the fetch doesn't run JavaScript. If your site adds its JSON-LD with JavaScript after the page loads, the fetch won't see it. Open the page in your browser, copy the rendered HTML and paste it here instead.
Why does my microdata only get a warning?
Microdata is spread through the page's HTML, and assembling each item means walking the whole page. The validator reports that microdata is present and which type it claims, and Google's Rich Results Test does the full check.
Do you store anything I paste?
No. Validation runs in your browser. The route that fetches a URL passes the page's HTML back to your browser without storing it or logging what you entered.
Does schema markup help with AI answers?
Google says its AI features need no special schema.org markup, only structured data that matches the visible text. Accurate markup still helps Google understand the page. To see whether AI assistants name you, the free AI visibility checker asks ChatGPT, Claude and Gemini one question and shows whether each answer names or cites your site.

See if AI names you when customers ask who’s best.

Enter your website. In about two minutes, Rank.ai asks ChatGPT, Claude and Gemini 12 questions your customers ask and grades how often they name you.

  • Your grade out of 100How often AI names you, cites your site, and how high it ranks you.
  • Who gets namedEvery competitor in the answers, most named first.
  • The pages AI readsThe sources behind each answer.
  • Three fixesWhat to fix first, with a brief for the first page.