Schema Markup Validator

Free structured data validator: enter a URL or paste code and we extract every JSON-LD, Microdata and RDFa item, report JSON errors with line numbers, check types and properties against the schema.org vocabulary (release 30.1) and test the required and recommended fields for Google rich results — with fixes ready to copy.

Or paste code: JSON-LD or HTML
Plain JSON, <script type="application/ld+json"> blocks or an HTML fragment with itemscope/typeof. Up to 512 KB.

Key facts

Price
Free
Sign-up
Not required
Processing
On our server: we download the page's HTML (JavaScript is not executed) or parse the code you paste
Input
A public URL (redirects are followed) or pasted JSON-LD / HTML up to 512 KB
Limits
12 page fetches and 20 code checks per minute per IP; no daily cap; 20-second page timeout, first 5 MB of HTML checked; URL results are cached for 10 minutes
Output
Error and warning summary, JSON errors with line and column plus a repaired block, a tree of every item, schema.org vocabulary checks (release 30.1), @id references and duplicates, Google required and recommended fields for 11 types, fix snippets
Last updated

Alternatives

Other tools for the same job, and what each one does well:

  • Schema Markup Validator (validator.schema.org) — The official schema.org validator: checks any vocabulary type from a URL or a code snippet, without Google-specific rich result rules.
  • Google Rich Results Test — Google's own tool: shows which rich results a page or code can produce, tests as Google's smartphone or desktop crawler (JavaScript included) and previews the result.
  • Google Search Console — rich result reports — Site-wide reports for each markup type: valid items, errors and warnings after Google crawls the site; they show a sample of items, not a full list.

When to choose this tool: When you want the schema.org vocabulary and Google's fields in one report, the exact location of a JSON error with corrected code, and duplicates spotted (say, two different Organization nodes from a plugin and a theme) — or need the interface in Russian, Ukrainian or Polish. For markup injected by JavaScript, use the Rich Results Test.

Descriptions checked against each tool's own site in October 2026.

Schema markup validator for JSON-LD, Microdata and RDFa

The validator finds every structured data item on a page or in pasted code — JSON-LD, Microdata and RDFa — and checks it in three layers. First syntax: if the JSON is broken, you get the line, column and reason (trailing comma, curly quotes, a line break inside a value) plus a repaired block. Then the schema.org vocabulary: unknown types and properties with a "did you mean" hint, properties used on the wrong type, superseded terms, invalid enumeration values, dates and durations that aren't ISO 8601, dangling @id references and duplicate entities. Finally Google's rules: required and recommended fields for articles, products, reviews, breadcrumbs, organizations, events, recipes, videos, software apps and job postings.

JSON-LD, Microdata and RDFa — from a URL or pasted code
JSON errors with line and column, plus auto-repair
Types and properties checked against schema.org
@graph, @id references and duplicate entities
Google required and recommended fields
Ready-to-copy fix snippets

How to Use

  1. Enter a page URL or paste JSON-LD / HTML into the code box
  2. Start with errors: JSON syntax and Google required fields
  3. Copy the fixes, update the page and validate again

FAQ

validator.schema.org checks any schema.org markup but says nothing about Google's requirements. The Rich Results Test does the opposite: it only checks types that have a Google rich result, and it runs the page's JavaScript. This tool puts both layers in one report — the schema.org vocabulary and Google's fields — and adds what neither offers: the exact location of a JSON error with an auto-repaired block, duplicate detection and copy-ready fixes. It doesn't run JavaScript, so test script-injected markup in the Rich Results Test.

Google shut it down: checks for its own rich results moved to the Rich Results Test, and generic markup validation moved to validator.schema.org (the Schema Markup Validator). If you were looking for a "structured data testing tool", this validator covers both jobs and also shows how to fix what it finds.

Google states plainly that it doesn't guarantee rich results even for correct markup. Common reasons: the page hasn't been recrawled yet, the markup describes content users can't see, the type is no longer supported (FAQ, How-to, sitelinks search box), reviews of your own business on your own site ("self-serving"), or a structured data manual action. Check the enhancement reports and the Manual actions report in Search Console.

From September 2023 Google showed them only for well-known government and health sites, and on 7 May 2026 it dropped FAQ rich results from Search entirely, removing the documentation in June. You can keep FAQPage markup — it is valid schema.org and the validator doesn't count it as an error — but don't expect it to produce snippets in Google.

Google treats all three equally as long as the markup is valid, but recommends JSON-LD: it stays separate from the page layout, is easier to maintain and expresses nested objects naturally. Microdata and RDFa are handy when a template already prints the data in the HTML. Just don't describe the same entity twice in different formats with different data — the validator flags those duplicates.

What the validator checks

Structured data is a machine-readable description of a page in the schema.org vocabulary: a product with a price, an article with an author, a business with an address. Search engines use it to understand the page and to build rich results. The validator checks your markup in three layers:

  1. Syntax. One stray character and search engines skip the whole JSON-LD block. We show the line and column, explain the cause and, where it is safe, repair it: drop trailing commas and comments, replace curly quotes with straight ones, escape line breaks inside values, and wrap several back-to-back objects in an array.
  2. The schema.org vocabulary. Every type and property is checked against the current vocabulary release: unknown terms (with a hint when it's a typo or the wrong case — datepublished instead of datePublished), properties used on a type they don't belong to, superseded terms, enumeration values (InStock, EventScheduled), and ISO 8601 dates and durations.
  3. Google's rules. For articles, products, reviews, breadcrumbs, organizations, local businesses, events, recipes, videos, software apps and job postings we check the required and recommended fields from Google Search Central documentation. A missing required field is an error — that item can't get the rich result. A missing recommended field is a warning.

The validator also unpacks @graph, resolves @id references and finds duplicates — for example, two different Organization nodes printed by an SEO plugin and by the theme.

Common errors and how to fix them

What you seeHow to fix it
Trailing comma before } or ]Delete the comma after the last property. It usually appears when a field is removed from a template.
Curly quotes “ ”The code was copied from Word or a visual editor. Paste JSON-LD in HTML mode or into a code field.
Property doesn't exist in schema.orgCheck spelling and case: properties start lowercase (description), types start uppercase (Product).
"This is a property, not a type"A property name ended up in @type or itemtype. Use a type: Article, Product, Organization…
Value is not in the enumeration"availability": "in stock" → "https://schema.org/InStock".
Price with a currency sign or comma"price": "$1,299.00" → "price": "1299.00", "priceCurrency": "USD".
Date isn't ISO 860110/13/2026 → 2026-10-13 or 2026-10-13T09:00:00-05:00.
Duration isn't ISO 8601"cookTime": "30 min" → "PT30M"; an hour and a half is "PT1H30M".
@id reference goes nowhereDescribe an object with that @id on the page, or fix the reference.
Two nodes for one entity with different dataKeep one, give it an @id and reference it everywhere else.

Google's required fields by type

Per Google Search Central documentation (checked October 2026). The validator lists the full set of recommended fields for each item.

TypeRequiredKey recommended
Article, NewsArticle, BlogPostingno required fieldsheadline, image, datePublished, dateModified, author with name
Product (product snippet)name plus one of offers, review, aggregateRating; price in the OfferpriceCurrency, availability; merchant listings also need image and an Offer
Review / AggregateRatingitemReviewed with name, author and reviewRating.ratingValue (review); ratingValue and ratingCount or reviewCount (rating)datePublished, bestRating, worstRating
BreadcrumbListitemListElement: ListItem with position, name and item (item may be omitted on the last one)—
Organizationno required fieldsname, url, logo, contact details, address
LocalBusinessname, addresstelephone, url, geo, openingHoursSpecification, priceRange
Eventname, startDate, location with addressendDate, eventStatus, image, offers, organizer, performer
Recipename, imagerecipeIngredient, recipeInstructions, times, recipeYield, aggregateRating
VideoObjectname, thumbnailUrl, uploadDatecontentUrl or embedUrl, description, duration
SoftwareApplicationname, offers.price, aggregateRating or reviewapplicationCategory, operatingSystem
JobPostingtitle, description, datePosted, hiringOrganization, jobLocation with addressCountry (or a remote job)validThrough, employmentType, baseSalary

What Google no longer shows

  • FAQ — limited to well-known government and health sites from September 2023, dropped entirely on 7 May 2026; the documentation was removed in June 2026.
  • How-to — removed on desktop and mobile in September 2023.
  • Sitelinks search box (WebSite + SearchAction) — retired in November 2024.
  • Breadcrumbs — not shown in mobile results since January 2025; still shown on desktop.
  • Course info, Estimated salary, Learning video, Special announcement, Vehicle listing — documentation removed in September 2025; practice problem in January 2026. Dataset markup is now used only by Dataset Search.

This markup does no harm and remains valid schema.org, so the validator labels it as information, not as an error.

@graph and @id: one entity, one description

When a page has several objects, collect them in a @graph and link them with @id instead of repeating the organization in every block:

{
  "@context": "https://schema.org",
  "@graph": [
    {"@type": "Organization", "@id": "https://example.com/#org", "name": "Example", "url": "https://example.com/", "logo": "https://example.com/logo.png"},
    {"@type": "WebSite", "@id": "https://example.com/#website", "url": "https://example.com/", "publisher": {"@id": "https://example.com/#org"}},
    {"@type": "Article", "headline": "…", "datePublished": "2026-10-13", "publisher": {"@id": "https://example.com/#org"}}
  ]
}

The validator shows where each reference points. A # reference to an object missing from the page is a warning; a reference to another page is a note, because search engines may not resolve it.

Reviews of yourself

Google shows rating stars for LocalBusiness and Organization only on sites that collect reviews about other businesses. If a site marks up ratings of its own business, Google treats them as self-serving and shows no stars. The validator warns about this and says so plainly when the organization's url matches the site being checked.

Limitations

  • We read the HTML as the server sends it and don't run JavaScript. Google can read JSON-LD injected by scripts, so for that kind of markup use the Rich Results Test or paste the rendered HTML from your browser's developer tools here.
  • We don't compare markup with the visible page: if the price or rating in JSON-LD differs from what visitors see, that breaks Google's guidelines, but it can't be caught automatically.
  • Valid markup makes a page eligible for a rich result; Google doesn't guarantee it will show one.

Need markup from scratch? Use the Schema Generator. For meta tags and Open Graph, see the meta tag checker and the OG Debugger.

Improve search rankings

SEO problems may be costing you traffic. Cascade link building will improve site visibility in search.

Cascade link promotion for your site $30 bonusBacklinks 5→50→5000 across 100+ platforms. From $30 to start, plus a $30 bonus for newcomers.