Schema Markup Validator: Free JSON-LD Check

Schema Markup Validator

Validate JSON-LD structured data against schema.org requirements. Paste markup or fetch from a URL.

Paste a single JSON-LD object, an array, or one or more <script type="application/ld+json"> blocks.

A schema markup validator checks your JSON-LD structured data for syntax errors and missing properties before search engines read it. Paste your code or fetch a live page by URL, and this free tool lists every block it finds, the type of each block, and any errors or warnings, so you know exactly what to fix.

What Is Schema Markup Validation?

Schema markup validation is the process of checking structured data against the structure and vocabulary it is supposed to follow. Schema markup is code, usually JSON-LD, that describes a page in terms search engines understand: this is an article, this is a product, here is the author, here is the price. The vocabulary comes from schema.org.

JSON-LD lives inside a script block with the type application/ld+json, so visitors never see it. Because it is plain JSON, one missing comma or one unclosed brace can make the whole block unreadable. Validation catches those syntax slips, and it also flags blocks that parse correctly but leave out fields a page type normally needs.

Google's Search Central documentation recommends JSON-LD for structured data. Features such as product, recipe, event and review results depend on markup that is both well formed and complete, so a quick validation pass is the cheapest way to avoid wasted effort.

How to Use the Schema Markup Validator

You can test markup in two ways: paste code you already have, or let the tool read a live page. Follow these steps.

  1. Pick a tab at the top of the form. Choose Paste JSON-LD to test code from your editor or CMS, or Fetch from URL to test a published page.
  2. In paste mode, drop your code into the JSON-LD markup box. You can paste a single object, an array of objects, or one or more complete script blocks with the script tags included.
  3. In URL mode, type the address into the Page URL field, for example https://example.com/article. If you leave off the protocol, the tool assumes http://.
  4. Click Validate Schema.
  5. Read the three counters first: Blocks found, Basic checks passed and Invalid. Then go through each numbered block for its type, errors and warnings.
  6. Open View parsed JSON under a block to see how your code was read. Fix the issues in your source, then run the check again.

Results clear as soon as you edit the input or switch tabs, so always click Validate Schema again after a change.

Worked Example: Catching a Missing Author

Say you wrote this minimal Article markup for a blog post and pasted it into the tool:

{"@context":"https://schema.org","@type":"Article","headline":"How to Repot a Snake Plant","datePublished":"2024-03-04"}

The tool reports Blocks found: 1, Basic checks passed: 0, Invalid: 1. Block #1 is labeled Article and shows one error: Article: suggested property "author" is missing or empty. The JSON is valid, and the headline and date are present, but the author is not.

To fix it, add an author object, such as "author":{"@type":"Person","name":"Dana Reyes"}, and validate again. This time the block shows All good.

Now remove the @context line and run it once more. The tool no longer shows an error but adds a warning: Missing @context (should reference https://schema.org). Search engines rely on that line to know which vocabulary you mean, so treat the warning as a real to-do item.

How Do You Read and Act on the Results?

Read the results from the top: counters tell you how many blocks were found and how many have errors, and each block then lists its own problems. A block with at least one error counts as invalid, while warnings point to things worth reviewing.

Which properties does the validator check?

For these common types, the tool confirms that the listed properties exist and are not empty. The messages call them suggested properties.

TypeProperties checked
Article, NewsArticle, BlogPostingheadline, author, datePublished
Productname, image
Recipename, recipeIngredient, recipeInstructions
Eventname, startDate, location
Organizationname, url
LocalBusinessname, address
Personname
BreadcrumbListitemListElement
FAQPagemainEntity
VideoObjectname, description, thumbnailUrl, uploadDate
ReviewitemReviewed, reviewRating, author

Common messages and the fix for each

  • Invalid JSON: the code cannot be parsed. Look for a missing comma between properties, a trailing comma after the last one, unescaped quotation marks inside text, or curly quotes pasted from a word processor. Use straight quotes only.
  • Missing @type: an object has no type, so nothing can be checked. Add a type such as Article or Product.
  • Suggested property is missing or empty: add the named property with a real value. An empty string counts as missing.
  • No property checks are available for type: the type is valid to write, but this tool has no checklist for it. Confirm its fields against the schema.org page for that type.
  • External or custom contexts are not resolved: your context is something other than schema.org, so the tool cannot interpret it. Use the schema.org context unless you have a specific reason not to.
  • No JSON-LD blocks were detected: the pasted text or fetched page contained no readable JSON-LD. Check that the block begins with a curly brace or square bracket, or that the script type is spelled correctly.

What does a clean result mean?

All good means the JSON parsed and the listed properties were found. It does not guarantee a rich result in Google, because eligibility depends on more than presence. For example, Product markup with only a name and image passes here, yet Google's product snippet guidance also looks for offers, reviews or ratings.

Who Should Use a JSON-LD Checker Like This?

Anyone who adds or edits structured data benefits from checking it before and after publishing.

  • SEO specialists auditing a client site can fetch several key URLs and spot pages with broken or missing blocks.
  • Developers can paste output from a template and catch a stray comma before it ships.
  • Bloggers and store owners who use a plugin can confirm the plugin actually outputs an author, image or date.
  • Content teams can validate markup produced with the schema markup generator before handing it to a developer.
  • Site owners after a migration can confirm structured data survived a redesign or theme change.

Best Practices and Troubleshooting Tips

Good validation habits take a few minutes and prevent most structured data problems.

  • Validate the generated code first. If you build markup with the article schema generator or the product schema generator, paste the result here before adding it to your page.
  • Test both the template and the live page. A template can be correct while the published page outputs empty fields, such as a blank author because a profile was never filled in.
  • Keep one block per entity when possible. It makes the numbered results easier to read. Multiple types in a single @graph also work, and each item is checked.
  • Match markup to visible content. Google's guidelines say structured data should describe what users can actually see on the page. A passing check does not make mismatched markup acceptable.
  • Mind your navigation markup. If a page has breadcrumbs, build the matching markup with the breadcrumb schema generator and confirm that itemListElement is present.
  • If URL mode finds nothing, paste instead. Markup that a script injects after the page loads may not appear in the fetched page. Copy the final markup from your browser's developer tools and use paste mode.
  • If the fetch fails, check the address for typos and confirm the page opens publicly. An error message that includes an HTTP code means the page did not return normal content.

What This Validator Does Not Check

This tool is a basic structural check, and knowing its limits keeps you from over-trusting a green result.

  • It reads JSON-LD only. Microdata and RDFa on a page are not parsed.
  • It checks that listed properties exist, not that their values have the right format, such as a valid ISO date or an image URL that loads.
  • It does not confirm eligibility for any specific Google feature. For final confirmation, run the page through Google's Rich Results Test as well.
  • Types outside the table above get syntax, context and type checks only.

Use this check to clear syntax errors and missing fields quickly, then rely on Google's own tools and Search Console reports for the final verdict.

Fixing structured data starts with seeing exactly what is wrong. Paste your code or enter a page URL in the form on this page, click Validate Schema, and work through each error and warning. Browse more tools in the on-page SEO and meta tags category, or create a FAQ schema block to test next.

Frequently Asked Questions

How do I validate schema markup?
Paste your JSON-LD into the JSON-LD markup box and click Validate Schema. The tool shows how many blocks it found, which are invalid, and the exact errors and warnings. Fix each message in your source code, then validate again to confirm the block shows All good.
How do I check the schema markup of a website?
Open the Fetch from URL tab, enter the page address in the Page URL field and click Validate Schema. The tool reads the JSON-LD on that page and checks each block. If nothing is found, copy the final markup from your browser and use paste mode.
What is schema markup used for?
Schema markup is structured data that tells search engines what a page is about, such as an article, product, event or recipe. Google uses it to understand content and may show richer search features. Correct markup does not guarantee those features appear.
Which schema types does this validator check for required properties?
The tool checks listed properties for Article, NewsArticle, BlogPosting, Product, Recipe, Event, Organization, LocalBusiness, Person, BreadcrumbList, FAQPage, VideoObject and Review. Other types still get syntax, context and type checks, plus a warning that no property checks exist for them.
Is the schema markup validator free and does it need a sign-in?
Yes, the validator is free and you do not need to sign in. Paste JSON-LD or enter a URL and click Validate Schema to see results immediately. You can run as many checks as you need while you refine your markup.
Why does my markup pass but still not show rich results in Google?
A pass means the JSON-LD parsed and the listed properties were present. Rich results also depend on Google's feature requirements, content quality and page visibility. Confirm with Google's Rich Results Test, and check that your markup matches what visitors see on the page.
Recommended

Explore VPN options

A VPN changes your network exit. It does not guarantee anonymity.

Hide Your IP Encryption Network coverage
Protect My IP Now

Basic structured-data checks

Checks JSON syntax and selected properties for a small list of types. Custom contexts, full schema semantics and Google rich-result eligibility are not validated. Unsupported types are reported as unchecked.

Implementation reviewed: 4 October 2026. Source documentation