Free Schema Markup Validator

Find out which rich results your pages qualify for, and exactly which property is stopping the rest.

Free Schema Markup Validator product illustration

What it does

Checks the JSON-LD structured data on your pages against what Google Search actually uses for rich results in 2026, and tells you in plain words what to fix. Run it on HTML files, a folder of your built site, or live URLs, locally or in CI.

  • Rich result eligibility for the features in Google's search gallery: Product snippet, Merchant listing, Breadcrumb, Event, Job posting, Local business, Recipe, Review snippet (Review and AggregateRating), Software app, Video, Article, Organization, Q&A, Profile page, Discussion forum, Vacation rental and Course list. Required properties are errors, recommended ones warnings.
  • Retired features, so you stop chasing results Google no longer shows: FAQ (removed May 7, 2026), HowTo (2023), sitelinks search box (Nov 2024), ClaimReview, Special Announcement, Estimated Salary, Course info, Learning Video, Vehicle listing (2025), Practice problems (Jan 2026), plus Dataset (Dataset Search only). These are notes, not errors: the markup stays valid.
  • The mistakes that silently kill rich results: prices with $ or commas, lowercase currency, "availability": "In stock", US-style dates, times without timezone, relative image URLs, ISO durations with ranges, rating values outside the scale or with a comma, promo text as a reviewer name, self-serving reviews on your own business, online-only events, remote jobs without applicantLocationRequirements, breadcrumbs with gaps, return policies missing applicableCountry / returnPolicyCountry, leftover TODO / {{template}} text.
  • JSON errors with the likely cause: trailing commas, curly quotes from a word processor, HTML-escaped quotes, unrendered template code.
  • Handles @graph, arrays, nested nodes and multiple blocks per page. Text, Markdown (PR comments) or JSON output; --strict fails on warnings; --ignore SD200 skips a check.
  • Python 3.9+ standard library only. Claude Code skill included (skills/schema-markup).

What you get

The screenshot is real output from the kit’s own commands. Tested from a fresh download of this exact zip: ./run_tests.sh ran 6 tests OK on Python 3.13 and 3.10.

Real terminal output from Free Schema Markup Validator: demo and passing tests

Use

python3 -m schemacheck dist/                     # every .html/.htm/.json/.jsonld in your built site
python3 -m schemacheck https://example.com/product/42 https://example.com/blog/post
python3 -m schemacheck page.html --format md >> "$GITHUB_STEP_SUMMARY"
python3 -m schemacheck dist/ --no-info --ignore SD200     # errors and important warnings only

Exit codes: 0 no errors, 1 errors (or warnings with --strict), 2 a file or URL couldn't be read.

./demo.sh checks a fictional coffee shop: a product page with 9 errors (and an FAQ block Google no longer shows), a blog post with a broken breadcrumb and a retired HowTo, then the fixed product page (clean). ./run_tests.sh runs 6 test groups.

Honest limits

  • Rules follow Google's Search Central documentation as checked on Nov 10, 2026 (schemacheck --version shows the date). Google changes these pages; when in doubt, the Rich Results Test is the final word.
  • JSON-LD only: microdata and RDFa are detected and reported, not validated. Live URLs are fetched as plain HTML, so markup injected by JavaScript isn't seen (check your built HTML, or the rendered page in the Rich Results Test).
  • Eligible doesn't mean shown: Google decides whether to display a rich result, and page content must match the markup.
  • It checks the properties Google documents, not the whole schema.org vocabulary.

Format and license

Zip, 21 KB, v1.0, 17 files. Free to use, modify and share for any purpose, including commercial work, as long as this notice stays in copies. Not affiliated with or endorsed by Google or Schema.org.

FAQ

Is it the same as Google's Rich Results Test?
No. It runs offline on files, folders and URLs (great for CI and whole sites) using Google's documented rules; use the Rich Results Test for a final check of a live page.
Should I remove FAQPage markup?
Google stopped showing FAQ rich results on May 7, 2026. The markup is still valid and harmless; remove it only if nothing else uses it.
Does it check microdata?
It detects microdata and RDFa but validates JSON-LD only, the format Google recommends.
How do I get the files?
Click Download free. The zip downloads straight away: no checkout, no account.
Do I have to sign up for the newsletter?
No. The form is optional and the download works without it.

Get Free Schema Markup Validator

Free schema markup validator: check JSON-LD against Google's rich result rules, spot retired FAQ and HowTo markup, bad prices and dates. Files, folders or URLs.

Pairs well with

DownloadFree

Postgres Health Check (Free)

Free read-only Postgres health check: invalid indexes, wraparound, sequences near limit, missing FK indexes, duplicate indexes and more. Markdown or JSON.

View Postgres Health Check (Free)

Related

1 email a week: new x402 + MCP tools and free kits.

Short weekly digest of new x402 + MCP tools and free kits, including the MCP OAuth Checker. The download above works without signing up. No spam, unsubscribe any time.