Rich Results Test by SwiftSchema

See which Google rich results your structured data can produce, what's missing for each one, and roughly how it could look. Enter a URL or paste code.

Not Google's tool. An independent rich results checker, not affiliated with Google. Confirm the final result in Google's Rich Results Test.

Reads the HTML the server sends. If your structured data is added by JavaScript, paste the rendered HTML instead.

What rich results are

A rich result (often called a rich snippet) is a Google search result with more than a title, link, and description: star ratings, a price and stock status, an event date, a recipe photo and cooking time, or a breadcrumb trail instead of a URL. Google builds them from structured data (usually JSON-LD) on your page, so the page has to carry the right markup with the properties each feature requires.

This rich results checker tests that markup for 28 Google features, using the required and recommended properties from Google's documentation (last verified 2026-10-07). Each item found is marked eligible when every required property is present, or not eligible with the exact properties to add.

Rich result types Google supports

Rich resultschema.org typeRequired properties
ArticleArticleNone (all recommended)Generator
BreadcrumbBreadcrumbListitemListElementGenerator
DatasetUsed by Google Dataset Search, not Google Search results.Datasetdescription, nameGenerator
Discussion forumDiscussionForumPosting, SocialMediaPostingauthor, author.name, datePublished, text, image, or videoGenerator
Education Q&AQuizhasPart
Employer aggregate ratingEmployerAggregateRatingitemReviewed, ratingValue, ratingCount or reviewCountGenerator
EventEventlocation, location.address, name, startDateGenerator
Image metadataImageObjectcontentUrl, creator, creditText, copyrightNotice, or licenseGenerator
Job postingJobPostingdatePosted, description, hiringOrganization, jobLocation, titleGenerator
Local businessLocalBusinessaddress, nameGenerator
Math solverMathSolverpotentialAction, potentialAction.mathExpression-input, potentialAction.target, url, usageInfoGenerator
Movie carouselMovieimage, nameGenerator
OrganizationOrganizationNone (all recommended)Generator
Profile pageProfilePagemainEntity, mainEntity.nameGenerator
Q&AQAPagemainEntityGenerator
RecipeRecipeimage, nameGenerator
Review snippetReviewauthor, itemReviewed, itemReviewed.name, reviewRating, reviewRating.ratingValueGenerator
Product snippetProductname, review, aggregateRating, or offersGenerator
Merchant listingProductname, image, offersGenerator
Product variantsProductGroupname
Software appSoftwareApplicationname, offers.price, aggregateRating or reviewGenerator
Vacation rentalVacationRentalcontainsPlace, containsPlace.occupancy, containsPlace.occupancy.value, identifier, image, latitude, longitude, nameGenerator
VideoVideoObjectname, thumbnailUrl, uploadDateGenerator
Course listCoursedescription, nameGenerator
Loyalty programMemberProgramdescription, hasTiers, name
Return policyMerchantReturnPolicyapplicableCountry and returnPolicyCategory (or merchantReturnLink)Generator
Shipping policyShippingServiceshippingConditions
SpeakableBeta: news publishers, English (US), Google Assistant.SpeakableSpecificationcssSelector or xPathGenerator

Retired or phased out: FAQ, How-to, Fact check, Special announcement, Estimated salary, Vehicle listing, Course info, Learning video, Sitelinks search box, Practice problem, Home activity, Critic review. The markup is still valid schema.org, but don't expect those results. Dates and sources.

Eligible, but no rich result?

Passing a test makes a page eligible; it doesn't make Google show the result. Google says it "does not guarantee that your structured data will show up in search results, even if your page is marked up correctly according to the Rich Results Test," and lists these common reasons:

  • "Using structured data enables a feature to be present, it does not guarantee that it will be present. The Google algorithm tailors search results to create what it thinks is the best search experience for a user, depending on many variables, including search history, location, and device type. In some cases it may determine that one feature is more appropriate than another, or even that a text result is best."
  • "The structured data is not representative of the main content of the page, or is potentially misleading."
  • "The structured data is incorrect in a way that the Rich Results Test was not able to catch."
  • "The content referred to by the structured data is hidden from the user."
  • "The page doesn't meet the guidelines for structured data described on this page, the guidelines for a specific structured data feature, the Search Essentials, or the Content policies for Google Search."

The fixes that are in your control: mark up only what the page visibly shows, keep prices, dates, and availability current, and fill in the recommended properties, not just the required ones.

How it compares with Google's Rich Results Test

Google's test is the source of truth: it renders the page with JavaScript, the way Googlebot does, and reports what Google detected. It also previews some result types. This tool works from the same published requirements and adds what Google's test leaves out: a check against the whole schema.org vocabulary (typos, properties on the wrong type, values in the wrong format), a suggested fix for most problems, retired-feature notes, and a preview for every detected feature. For a full vocabulary report, use the Schema Markup Validator; it runs the same checks with the issues listed first.

Reading Google's Rich Results Test

When you run the published URL through Google's test, the top line is one of these statuses (from Google's help page; N is the number of items):

  • N valid item(s) detected
  • No items detected
  • N valid item(s) with warnings detected
  • N valid items detected: All have warnings
  • N valid items detected: Some have warnings
  • N items detected: Some are invalid
  • N invalid item(s) detected
  • URL cannot be crawled
  • Structured data with syntax errors detected

"Valid with warnings" means the item is eligible but missing recommended properties; this tool lists the same gaps as warnings. "Invalid" means a required property is missing or wrong, which this tool reports as Not eligible. Google's test uses a smartphone user agent by default, and its result links can be shared for about 90 days.

What happened to the Structured Data Testing Tool?

Google's old Structured Data Testing Tool checked any schema.org markup. Google replaced it with two tools: the Rich Results Test for Google's own features, and the Schema Markup Validator at validator.schema.org for general schema.org checks. On August 9, 2021, Google noted that the Schema Markup Validator had stabilized and that the old tool now redirects to a landing page that helps you pick between them. This tool and the SwiftSchema validator cover both kinds of check in one place.

FAQ

Is this Google's Rich Results Test?
No. It's an independent tool from SwiftSchema. It reads your markup the way the documentation describes and checks it against Google's published requirements, but only Google's own Rich Results Test can confirm what Google sees. Use this one to find and fix problems, then run the published URL through Google's test.
What does it check that Google's test doesn't?
It also checks every type and property against the full schema.org vocabulary, suggests a fix for most problems, shows a preview for every detected feature (Google's test previews only some types), and points out rich results Google has retired, so you don't keep chasing an FAQ or How-to result that no longer appears.
My page is eligible. When will the rich result appear?
Google has to recrawl the page first. You can ask for that with Request indexing in Search Console's URL Inspection tool. Google doesn't promise a timeline, and eligibility doesn't guarantee the rich result will be shown.
Does it work on pages that add structured data with JavaScript?
URL mode reads the HTML your server sends and doesn't run JavaScript. If your markup is added in the browser, copy the rendered HTML from Chrome DevTools and paste it into the code box.
Do you store the pages or code I test?
No. The page or code is checked and the report is sent back to your browser. If you click Fix with AI, your code and the issues are sent to the AI generator.