Structured Data Validator
Paste a page's HTML source or a JSON-LD snippet to find every structured data item, see which Google rich result it targets, and get a clear list of syntax errors, missing required properties and recommended fields.
Last updated:
Checks run in your browser against schema.org types and Google Search's documented required and recommended properties. Passing here does not guarantee that Google will show a rich result.
How to use the Structured Data Validator
- Copy the page source (View Source or Ctrl+U in your browser) or just the JSON-LD script, and paste it into the box. You can also open a saved .html file.
- Read the summary: number of items found, errors, warnings and which rich result types were detected.
- Fix the errors first: invalid JSON or missing required properties make the item ineligible for rich results.
- Add recommended properties listed as warnings where you have the data; they improve how the result can appear.
- Re-check as you edit: with Check as I type on, results update instantly. Copy the report or the JSON-LD when done.
Google's required properties at a glance
| Type | Rich result | Required | Key recommended |
|---|---|---|---|
| Product | Product snippet, merchant listing | name + one of offers, review, aggregateRating | image, brand, sku, gtin, description |
| Offer | (inside Product) | price, priceCurrency | availability, url, priceValidUntil |
| Article, NewsArticle, BlogPosting | Article | none | headline, image, datePublished, dateModified, author |
| BreadcrumbList | Breadcrumb | itemListElement with position, name, item (except the last) | none |
| Event | Event | name, startDate, location | endDate, eventStatus, image, offers, organizer |
| Recipe | Recipe | name, image | recipeIngredient, recipeInstructions, totalTime, nutrition.calories |
| LocalBusiness (and subtypes) | Local business | name, address | telephone, geo, openingHoursSpecification, url |
| JobPosting | Job posting | title, description, datePosted, hiringOrganization, jobLocation | baseSalary, employmentType, validThrough |
| VideoObject | Video | name, thumbnailUrl, uploadDate | contentUrl or embedUrl, duration, description |
| AggregateRating | Review snippet (stars) | ratingValue + ratingCount or reviewCount | bestRating, worstRating |
Based on Google Search Central's structured data documentation. Google updates these requirements from time to time, so treat the table as a checklist, not a guarantee.
Value formats that trip people up
| Property | Wrong | Right |
|---|---|---|
Dates (datePublished, startDate…) | March 14, 2025, 14/03/2025 | 2025-03-14 or 2025-03-14T19:30:00-05:00 |
Durations (cookTime, duration…) | 10 minutes, 1:30 | PT10M, PT1H30M |
price | $89.99, 1,299.00, 89,99 | 89.99, 1299.00 |
priceCurrency | $, usd, Dollars | USD (ISO 4217) |
availability | In stock | https://schema.org/InStock |
URLs (image, url, logo) | /images/photo.jpg | https://www.example.com/images/photo.jpg |
| Type and property names | "@type": "product", "Name" | "@type": "Product", "name" (case-sensitive) |
JSON-LD, microdata or RDFa?
JSON-LD is a separate <script type="application/ld+json"> block, easy to generate and maintain without touching the visible HTML, and is the format Google recommends. Microdata adds itemscope, itemtype and itemprop attributes to existing HTML elements, which keeps the markup next to the visible content but makes templates harder to edit. RDFa uses vocab, typeof and property attributes in a similar way. All three are supported by Google; you can mix them on one page, but avoid describing the same item twice in different formats. Use Copy as JSON-LD above to convert microdata items into a JSON-LD block.
Frequently asked questions
What is structured data?
Structured data is machine-readable information added to a web page, usually as JSON-LD in a script tag, that describes the page's content using schema.org types such as Product, Article, Recipe or Event. Search engines use it to understand the page and may show rich results like star ratings, prices or breadcrumbs.
Which formats does this validator support?
JSON-LD (Google's recommended format), microdata (itemscope, itemtype and itemprop attributes) and basic RDFa (typeof and property attributes). Paste a full HTML page, a single script tag, or raw JSON starting with { or [.
What is the difference between an error and a warning?
Errors are problems that make the markup invalid or ineligible for its rich result, such as broken JSON, a missing required property or a price written as $19.99. Warnings are missing recommended properties or questionable values: the item can still be eligible, but adding them gives search engines more to work with.
Is this the same as Google's Rich Results Test?
No. It checks your markup against schema.org and Google's documented required and recommended properties, entirely in your browser, so it works on unpublished pages and pasted snippets. Google's own test also renders the live page and applies policies, so use it as a final check before publishing.
Why does my valid FAQ markup not show in Google?
Since August 2023 Google shows FAQ rich results only for well-known, authoritative government and health websites, and it stopped showing How-to rich results in September 2023. The markup can still be valid, which this tool tells you, but it will not produce a rich result on most sites.
Can it fetch a URL directly?
No. Browsers block web pages from reading other websites' HTML (CORS), and this tool sends nothing to a server. Open the page, view its source, and paste the HTML here, or save the page and open the .html file.
Does valid structured data guarantee rich results?
No. Valid, complete markup makes a page eligible, but Google decides whether to show a rich result based on content quality, policies and the search query. Markup must also describe content that is visible on the page.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.