100% FREE  -  NO SIGN-UP  -  YOUR FILES NEVER LEAVE YOUR DEVICE

Schema Validator

Paste a JSON-LD block or a whole page and get five passes of checks, sorted into errors, warnings and info. It works on unpublished code, right in your browser.

100% free, no premium plan No sign-up Files never leave your device
Drop your text here
or click to choose a file from your device

Your files are processed in your browser, on your own device. Nothing is uploaded to a server.

    This schema validator checks JSON-LD the fast way. Paste a single markup block, or paste a whole page and it pulls out every application/ld+json block it finds. It then runs five passes over the code and sorts what it finds into errors, warnings and info, so you fix the breaking problems first.

    How this schema validator works, step by step

    • Step 1: Paste your JSON-LD block, or paste the whole page. If the paste holds HTML, the validator finds every script block typed application/ld+json and takes those.
    • Step 2: Read the findings top down. They arrive sorted as errors, then warnings, then info.
    • Step 3: Fix errors first. A parse error names the line and column, so you can go straight to the fault.
    • Step 4: Work the warnings. These are the missing recommended properties and format slips that weaken a block without breaking it.
    • Step 5: Paste the fixed block back in and run it again. A clean run here is your cue to test the live page in the Rich Results Test before launch.

    The five passes this schema validator runs, in order

    • Pass 1: Locate. Find every JSON-LD block in the paste, in a bare block or inside page HTML.
    • Pass 2: Parse. Read each block as JSON. A block that fails gets its error position in plain language, with the line and column named.
    • Pass 3: Context. Confirm the block carries the schema.org @context it needs.
    • Pass 4: Vocabulary. Check types and properties against the bundled schema.org subset for the supported types, the same property tables the Schema Generator on this site is built from.
    • Pass 5: Formats and requirements. Dates must read as ISO dates. A price must be a plain number, not a string like $89.00. Currency codes must run to three letters. URLs must be absolute. Required properties for the type must be present, and recommended ones are flagged when missing.

    Errors, warnings and info are kept apart on purpose. An error means the block breaks or lacks something its type demands. A warning means it works and could be stronger. Info is context, and the clearest case is the note attached to FAQ and HowTo blocks: their rich results are retired at Google for most sites, so valid markup there still earns no Google feature.

    What this schema validator cannot tell you

    Three lines are worth keeping straight, and this page prints all three. Valid is not the same as eligible, and eligible is not the same as shown. A clean run here proves the code parses and carries what its type asks for. It does not prove Google will grant a rich result.

    Google Rich Results Test is the final word on Google eligibility, because it renders the page with Googlebot and sees what a crawler sees. This validator is the fast first pass. It runs on code that is not live yet, behind logins and on staging pages a URL test cannot reach.

    Two formats get a partial answer. If pasted HTML carries Microdata or RDFa, the validator detects them and reports them as present. It does not validate them, and it says so in the findings instead of staying quiet.

    When a paste based schema validator beats a URL test

    Most markup problems are found before launch, and URL tests cannot help there. Staging sites sit behind logins. Templates spit out markup no single page shows in full. A plugin update can change output across a whole site overnight. In each case the code is what you have, and pasting the code is the test.

    FAQs

    What does the validator do with a full page paste?

    It extracts every application/ld+json block from the HTML and checks each one. The rest of the page is ignored, apart from a note if Microdata or RDFa shows up in the markup.

    My JSON has a parse error. Where is it?

    The finding names the line and column in plain language. Usual suspects at that spot are a missing comma, a trailing comma after the last item, or a quote that was never closed.

    Why is a price of $89.00 flagged?

    Because it arrived as a string with a currency symbol inside it. Prices in schema are plain numbers, like 89.00, with the currency carried by its own three letter code property.

    The validator says clean. Will Google show a rich result?

    Not promised. Clean means valid. Eligibility is a second bar, and showing is a call Google makes alone. Run the live page through the Rich Results Test for the eligibility answer.

    Does the validator check Microdata too?

    It detects Microdata and RDFa in pasted HTML and reports them as present. It does not validate them. JSON-LD is the format it checks in depth.

    Is my pasted code uploaded anywhere?

    No. The checks run in your browser, on your device. That is why the tool works on unpublished code in the first place.

    More SEO Tools

    Same rules as this one: free, in your browser, with nothing uploaded.

    Scroll to Top