JSON-LD validator

Schema

Paste JSON-LD to catch syntax errors, a missing @context or @type, and commonly required properties before you publish. Free, no signup, and it runs entirely in your browser.

For the final word on rich result eligibility, also run your page through Google's Rich Results Test.

How to use it

  1. Paste your JSON-LD, with or without the script tags; several blocks are fine.
  2. Click "Validate" to check each block separately.
  3. Fix any errors or warnings shown, then run it again until it passes.

What this validator checks

Structured data fails in two ways: the JSON is broken, or the JSON is fine but the schema is incomplete. This tool looks for both.

First it parses each block as JSON. If that fails, you get the error and, where possible, the line it occurred on. The usual culprits are a trailing comma after the last item, single quotes where double quotes are required, or an unescaped quote inside a value.

If the JSON parses, the tool checks that a @context pointing to schema.org is present and that at least one @type exists. It then walks through every object, including nested ones, and flags common properties that are typically required for that type. For example, an Offer without priceCurrency, a BlogPosting without author, or a ListItem without position. It also warns when a price includes a currency symbol, since prices should be plain numbers with the currency stated separately.

You can paste a whole page section with several script tags. Each block is reported on its own, with the types it found listed in the heading.

What it does not check

This is a fast first pass, not a full audit. It covers a set of frequently used types and their most common requirements. It does not fetch your page, check that the markup matches visible content, confirm that URLs work, or know every rule a search engine applies to a specific rich result.

Warnings are not always problems. Some properties are required only for certain search features, and a page may not be aiming for those features at all. Use judgment: fix anything that is genuinely missing, and ignore warnings that do not apply.

Your final check before publishing

Once the code is clean here, test the live URL with two official tools:

  • Google's Rich Results Test shows which rich result types Google detects on the page and whether they are eligible. It renders the page, so it also catches markup added by JavaScript.
  • The Schema Markup Validator at validator.schema.org checks your markup against the full schema.org vocabulary, regardless of what any single search engine supports.

Between this tool and those two, you will catch nearly every common mistake.

When markup keeps breaking

If your theme, plugins and hand-added code all output structured data, you can end up with duplicate or conflicting blocks. Paste the full set here to see everything at once. If your site needs a structured data cleanup as part of a broader review, our SEO audit covers it.

Questions, answered

Does passing this check mean I will get rich results?

No. Valid markup is necessary for rich results but does not guarantee them. Search engines decide whether to show enhanced listings based on the page, the query and their own eligibility rules. Use Google's Rich Results Test to see what Google detects, then let it decide.

What is the difference between an error and a warning here?

An error means the block is broken or unusable, such as invalid JSON or no @type. A warning means a commonly required property is missing for that type. Warnings matter if you want a feature that depends on that property; otherwise they may be safe to leave.

Can I paste markup that uses @graph?

Yes. The validator reads blocks that use @graph and checks each item inside it, including nested objects. It also handles a top-level array of objects. Paste the full script exactly as it appears in your page source for the most accurate result.

Is my code sent anywhere when I validate it?

No. The check runs entirely in your browser using the text you paste. Nothing is uploaded or stored. That also means the tool cannot see your live page, so for markup added by JavaScript or plugins, view the rendered source or use Google's Rich Results Test.

Find out what is holding your rankings back

Send us your site. Within 2 business days you get a written audit, an AI visibility check and a short fix list ranked by impact. Free, with no contract attached.

Request my free audit