SEOAzuqe

Structured data tool

Free Schema Markup Validator

Free, no sign-up

Find every schema error on a page, with the line it is on

You get a list of every JSON-LD block on the page, each item in it, and what is wrong with each item, in plain words. Errors are things Google's documentation says must be there or must be written a certain way; warnings are things it recommends, or that search engines will ignore.

  • JSON syntax errors, with the line and column where the code stops being valid JSON: a trailing comma, a missing comma, single quotes, a line break inside a string.
  • A missing or wrong @context, and items with no @type.
  • Each @graph expanded into its items, and @id references followed to the node they name on the same page.
  • Missing required properties, and the "one of" rules, such as a Product needing an offer, a review or a rating.
  • Value formats: ISO 8601 dates, numeric prices, ISO 4217 currency codes, full URLs and image URLs.
  • Types and properties that schema.org does not define, which search engines skip. Typos like adress or a lowercase product show up here.

URL mode reads the page's HTML once, up to 3 MB, the way a crawler does before running any JavaScript. Paste mode takes up to 60 KB of JSON-LD or HTML and fetches nothing. One check covers up to 500 blocks.

Structured data testing tool

Google's Structured Data Testing Tool is gone. Google announced in July 2020 that it would retire it in favour of the Rich Results Test, and later handed the general-purpose validation part to schema.org, which now runs it at validator.schema.org. Many guides still link to the old tool, which is why the name keeps coming up.

That split left two tools that answer different questions. The Rich Results Test asks whether a page can get a Google rich result, and renders the page with JavaScript first. The schema.org validator checks markup against the whole schema.org vocabulary, with no opinion on Google's features.

This validator sits between them. It checks the vocabulary like the schema.org validator, and checks the types behind Google's most used rich results against Google's published required and recommended properties. It is not a Google tool, and meeting Google's documented requirements makes a page eligible for a rich result; it does not guarantee one. Google decides what to show.

Structured data checker

The table lists the requirements this checker applies, taken from Google Search Central's structured data documentation and last compared with it on 2026-10-25. Subtypes use the nearest type below: a Dentist is checked as a LocalBusiness, a NewsArticle as an Article.

What Google requires for each type this checker validates
TypeRequired by GoogleRich result
Article, NewsArticle, BlogPostingNone; recommended properties onlyArticle
Productname, one of review, aggregateRating or offersProduct snippet
Offerone of price or priceSpecification.pricePart of another result
Reviewauthor, reviewRating, reviewRating.ratingValue, itemReviewed (when not nested), itemReviewed.name (when not nested)Review snippet
AggregateRatingratingValue, one of ratingCount or reviewCount, itemReviewed (when not nested), itemReviewed.name (when not nested)Review snippet
LocalBusinessaddress, nameLocal business
OrganizationNone; recommended properties onlyNone of its own
BreadcrumbListitemListElement, itemListElement.position, itemListElement.item (except the last), one of itemListElement.name or itemListElement.item.nameBreadcrumb
Eventlocation, location.address, name, startDateEvent
VideoObjectname, thumbnailUrl, uploadDateVideo
Recipeimage, nameRecipe
SoftwareApplicationname, offers.price, one of aggregateRating or reviewSoftware app
WebSitename, urlSite name
FAQPagemainEntity, mainEntity.name, mainEntity.acceptedAnswer, mainEntity.acceptedAnswer.textRetired by Google
HowToname, stepRetired by Google

Recommended properties come next. They never block eligibility, but Google uses them where it can, for example a product's price and availability in its snippet. Some recommendations apply only in some cases, such as a menu for a restaurant, and the checker lists those as notes rather than warnings.

Do FAQ and How-to rich results still show in Google?

No. Google stopped showing How-to rich results in September 2023, and stopped showing FAQ rich results on May 7, 2026, after limiting them to well-known government and health sites in 2023. Both documentation pages have since been removed.

The checker still validates FAQPage and HowTo markup against the last published rules, because the markup is valid schema.org that other search engines and AI answer tools can read. It reports these items as valid but not eligible, so you are never told to expect a rich result that no longer exists.

What about microdata and RDFa?

The checker finds microdata (itemscope and itemtype attributes) and RDFa (typeof attributes) and lists the types it finds, but validates JSON-LD only. Google reads all three formats, and recommends JSON-LD because it sits in one script block instead of being spread across the page's HTML, which makes it easier to keep correct as templates change.

If a page uses microdata, check it in Google's Rich Results Test, or move it to JSON-LD and check it here.

What does it mean when a check is not complete?

A check that could not read everything says so and never reports a clean page. That happens when a site blocks or rate-limits our checker, when it is too slow to answer within the time limit, when the page is larger than 3 MB, or when it holds more blocks than one check covers.

A site that blocks checkers may still serve Googlebot normally, so a refusal says nothing about what Google sees. Paste the page's HTML instead, or use Search Console's URL Inspection, which shows the page as Google rendered it.

Markup that JavaScript adds after the page loads is not in the HTML this checker reads. Google renders JavaScript, so it may see markup that a URL check here does not; when a page looks like an empty app shell, the result says that too.

Questions about schema markup

How do I check if my schema markup is valid?

Enter the page's URL in the schema markup validator, or paste its JSON-LD, and select Validate. It lists every structured data block on the page with any JSON syntax error and its line, then each item's missing required properties, missing recommended properties and badly formatted values.

Does valid schema guarantee a rich result?

No. Meeting Google's documented requirements makes a page eligible for a rich result, and Google then decides whether to show one, based on the query, the page's quality and its own policies. Markup that breaks a requirement, though, can rule a rich result out.

What replaced Google's Structured Data Testing Tool?

Two tools. Google's Rich Results Test checks whether a page can get a Google rich result, and schema.org's validator at validator.schema.org checks markup against the full schema.org vocabulary. This validator checks the vocabulary and Google's published requirements for its most used rich results in one pass.

Why does the checker say my FAQPage is not eligible?

Because Google no longer shows FAQ rich results: it stopped on May 7, 2026. Valid FAQPage markup is still reported as valid, since other search engines and AI answer tools read it, but it will not earn a rich result in Google.

Is JSON-LD better than microdata?

Google reads JSON-LD, microdata and RDFa, and recommends JSON-LD. It lives in one script block instead of attributes spread through the HTML, so it is easier to write, review and keep correct as templates change. This checker validates JSON-LD and lists any microdata or RDFa types it finds.

Why does the checker find no markup when my page has some?

Most often because JavaScript adds the markup after the page loads. A URL check reads the HTML the server sends, before any script runs. Google renders JavaScript, so it may still see the markup; paste the rendered HTML here, or check the page in Search Console's URL Inspection.

Is the schema markup validator free?

Yes. It needs no account, and each visitor gets a number of free checks per day, shown under the form. Pasted code counts as a check too, and its result is never cached or shared.

Add the missing markup on every page, not one page at a time

This validator checks one page. Azuqe's site audit flags every page with no JSON-LD structured data, and the Fix Center can write the markup for each page and deploy it for you.

Free trial on your first site · Cancel any time