Structured Data (JSON-LD) Validator

Checks your pasted JSON-LD against Schema.org’s required and recommended fields for the detected type.

When should you use this?

Use this to check, before publishing, whether the structured data (JSON-LD) you've added to a page will actually be read correctly by Google.

When shouldn't you use this?

Passing validation doesn't guarantee the page will show as a rich result; Google uses valid schema at its own discretion, it might not use it at all.

Want to see at a glance how well your site reads for search engines and AI bots (ChatGPT, Claude, Perplexity)? Try our SEO & GEO Analysis tool.

Step-by-step

  1. Open the source of the page you want to check and copy the JSON-LD inside its application/ld+json script block.
  2. Paste it into JSON-LD code. Make sure @type is filled in, since the checks are based on that type.
  3. Click Run.
  4. Fix missing required fields first, then recommended ones. Paste the corrected code back in until the result is clean.

Example

You sell handmade soap online and a plugin adds Product schema to your product pages. Pasting one page's code shows the product name and image are there, but the offer section with price and availability is missing. You enable that field in the plugin settings and check the code again. Keeping a copy of the code in a text file and trying small edits here first, before touching the live site, lowers the chance of breaking something.

What does the tool check?

The tool checks the JSON-LD you paste in three steps: whether it is valid JSON, whether @context contains schema.org, and whether the required and recommended fields exist for each item's @type. A missing required field gives an error and a missing recommended field gives a warning. In code with @graph each item is checked separately. Example: for Article, headline, image, author and datePublished are required; publisher, dateModified and description are recommended.

When reading the result

  • The tool only knows the required fields for these types: Article, NewsArticle, BlogPosting, Product, LocalBusiness, Organization, WebSite, FAQPage, Recipe, Person, Event and BreadcrumbList. For any other type no field check is done, so a result can look valid while the code is incomplete.
  • It checks whether a field is filled in, not whether the value is in the right format (date, address, price).
  • A valid result does not mean Google will show a rich result. Do the final check with Google's Rich Results Test.
  • Paste the code as plain JSON, without the