Free Tool
    Updated 7 June 2026

    schema markup validator tool

    Validate JSON-LD, Microdata, and RDFa structured data on any URL. See exactly which schema types are declared and whether they parse correctly for Google rich results.

    By Deepak Shukla — Founder & CEO, Pearl Lemon

    Part of SEO monitoring — the full answer, the facts and the alternatives in one place.

    What This Tool Checks

    • JSON-LD blocks parse as valid JSON
    • Each schema declares an @type (Article, Product, FAQPage, etc.)
    • Microdata itemtypes and RDFa typeof attributes are present
    • OpenGraph and Twitter card meta tags are declared

    Why This Matters

    Structured data is the price of entry for Google rich results — review stars, FAQ accordions, product cards, recipe boxes. Invalid JSON-LD silently disqualifies a page; you only find out by losing the rich snippet.

    How to Fix Issues

    1. 1.Validate JSON-LD with Google's Rich Results Test for any failing block
    2. 2.Pick the most specific @type that fits (Article over WebPage)
    3. 3.Stack multiple schemas (Article + BreadcrumbList + FAQPage) rather than one mega-schema
    4. 4.Ship OpenGraph + Twitter cards even for non-social pages — both Slack and LinkedIn use them

    Structured data is a machine-readable summary of what a page is about, embedded in the page itself. It does not change your ranking, but it decides whether your result can show review stars, an FAQ accordion, a product price, an event date or a recipe card — and those change the click rate at a position you already hold. Enter a URL above and the check reports every structured data block found and whether it parses.

    Invalid markup fails silently

    A JSON-LD block with a trailing comma, a missing brace or a truncated string does not raise an error anywhere you would see it. The page renders, the block sits in the source looking correct, and the rich result simply never appears. Teams often conclude their content was not selected when the actual cause is a parse error introduced by a template variable that was empty for that one page.

    Type matters more than volume

    Adding every schema type you can think of does not help. What helps is declaring the type that matches what the page actually is, with the properties that type genuinely requires, and having those properties match what a visitor can see. Markup that claims a review score the page does not display, or an event that is not on the page, is the fastest route to losing rich results entirely — that is the enforcement mechanism, and it applies at the site level rather than the page level.

    Where the blocks come from

    On most sites structured data is generated by more than one source: a theme, an SEO plugin, a page builder and sometimes hand-written code. They rarely coordinate. Two Organization blocks with different names, two Article blocks with different dates, or an FAQPage on a page with no visible questions all originate this way. Seeing every block on the page at once is usually what identifies which system is producing the wrong one.

    Using the result

    Confirm the primary type is right for the page. Confirm the identifying properties — name, headline, image, date, price, author — are present and match the visible content. Remove duplicated blocks rather than editing both. Then check a handful of pages per template rather than just one, because the failures come from data being missing on specific records, not from the template being wrong everywhere.

    Methodology

    We fetch the public HTML (capped at 600KB to control parser cost) and extract every <script type="application/ld+json"> block, every itemscope+itemtype attribute pair (Microdata), and every typeof= attribute (RDFa). JSON-LD blocks are JSON.parse()-ed; failures are reported with the parser error and a snippet for debugging. We separately count OpenGraph and Twitter card meta tags because they affect social previews even though they are not strictly structured data. The 0–100 score rewards valid blocks, penalises parse failures, and adds bonuses for OpenGraph + Twitter coverage.

    Frequently Asked Questions

    This tool also answers

    How do I test structured data on a page?

    Paste the URL above. The tool extracts every JSON-LD, Microdata and RDFa block from the live HTML, confirms each parses, and lists the declared @type values so you can see exactly what a search engine would read.

    Why are my rich results not showing?

    Valid markup earns eligibility, not a guarantee. The usual blockers are a missing required property, structured data that describes content not visible on the page, or markup injected by JavaScript that the crawler never executed.

    Monitor this continuously with LemWatch

    A one-off free schema markup checker shows you today. LemWatch re-runs the same checks around the clock and alerts you the moment something breaks — free for up to 10 sites, no card needed.

    HTTP Status Code Reference

    Understanding HTTP status codes helps you diagnose issues found by this tool: