Put structured data on your page to enable special features in Google Search results, then test it with the Rich Results test.
Run the test
For a URL
Submit the full URL of the page to test. Important: All page resources must be accessible by an anonymous user accessing the code from the internet. Any resources that are behind a firewall or password-protected will not be available to the test. If your page is behind a firewall or hosted on your local machine, you can test it by exposing a tunnel.
For a code snippet
You can test an arbitrary code snippet using this tool. In the tool landing page, choose Code instead of URL for the test, then paste the code to be tested. You can modify the code and rerun the test by clicking Run test as often as you like.
Optionally choose a user agent
You can choose which user agent to use when testing your page: that is, test your page with a smartphone or a desktop computer. Choose a user agent from the list below the URL or code entry textbox.
The default user agent is smartphone, because of Google's mobile-first initiative, which reflects the increased use of mobile devices to access web pages. If your site is mobile-first, we recommend using the smartphone user agent for your testing, unless you have specific reasons to use the desktop user agent. For all sites, we recommend using the mobile user agent because this is how the majority of users browse the web today.
You can see if your site is mobile-first on your property's settings page.
Supported structured data formats
The Rich Results test supports structured data in JSON-LD, RDFa, and Microdata
Review the results
The test shows which rich result types were found on the page, as well as any errors or suggestions for your structured data.
If there are errors or warnings, expand the individual item to see details, and click the description to open the code explorer in the corresponding location. The explorer uses the rendered source code.
The test results cover the following areas:
The tool can report any the following status values for a tested URL where N depends on the number of items found.
- 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
This section describes whether Google is permitted to crawl the page. If Google is prevented from crawling the page as part of its regular crawl cycle (for example, is prevented from crawling by a robots.txt rule or noindex directive), the page cannot be tested with this tool.
- Crawled successfully / Crawl failed:
- Crawled as: Shows the type of user agent used for the crawl (smartphone or desktop)
- Crawl allowed? Tests whether a robots.txt rule on the site prevents this page from being crawled.
- Page fetch: Whether the page could be fetched by the test. If crawling failed, this will always fail.
Detected Items / Detected structured data
Whether any structured data items were found on the page. If structured data was found but could not be parsed, that will be indicated here. Any items found, whether good, with warnings or errors, or unparseable, will be listed here, along with a description of the item and any issues.
If for some reason the tool cannot access the page, it will display an error describing the problem. Access problems include network connectivity issues or the site being down.
Here are some common reasons for resource loading issues:
- The resource wasn't loadable in a reasonable amount of time. In this case, try running the test again. If it continues to happen, consider hosting the resource somewhere else, or else try to discover and fix the reason for lack of response from the host.
- The resource does not exist at the URL referenced (404 error). Fix the resource URL.
- The resource is inaccessible to non-logged-in users. The test accesses the page as an anonymous user; ensure that all resources are accessible to anonymous users.
- The resource is blocked to Googlebot by a robots.txt file. If the resource is important (see below), if it is on your own site, you might want to unblock the resource to Googlebot; if it is on another site, you might want to contact the site's webmaster and ask to have it unblocked.
Unblocking important resources
Inconsistent test results
If you have unloadable resources or other page loading issues, you might see slightly different results every time you run the test. This is because the set of resources that were loaded can vary during each test run. If your page rendering changes each time you run the test, and you have not changed anything, check for a "page loading issues" warning; if present, click for more information to see what might have happened to prevent the page from being rendered consistently and correctly.
|Invalid JSON document||The JSON had a top-level syntax error.|
|Incorrect value type||The value specified for a field was of the wrong type. For example, you specified a string when a number or array was expected. See the structured data documentation to learn the required value type for that specific field.|
|Parsing error: Missing ':'||Missing a ':' mark between a field and value.|
|Parsing error: Missing ',' or '}'||Missing a comma or closing brace.|
|Parsing error: Missing '}' or object member name
||Missing a closing brace or object member name.|
|Parsing error: Missing ',' or ']' in array declaration||Error parsing an array value: missing a comma or closing bracket in an array declaration.|
|Unable to parse token length||For some reason the start and end of a property or value could not be found.|
|Invalid number||Property value expected to be a number, but another value type was used.|
|Empty escape sequence in string||
A string value include an empty escape sequence character: for example:
|Bad escape sequence in string||
An invalid escape sequence used in a string value. For example:
"description" : "Some \q unknown sequence"
|Truncated Unicode character||Missing the last 6 characters in a Unicode surrogate pair.|
|Invalid Unicode character||Missing a \u token at the start of the second half of a Unicode surrogate pair.|
|Invalid Unicode escape sequence: four digits expected||A Unicode escape sequence has a syntax error: it should contain four digits.|
|Invalid Unicode escape sequence: hexadecimal digit expected||A Unicode escape sequence has a syntax error: a hexadecimal digit was expected but not provided.|
|Duplicate unique property||You provided two definitions for a unique property in your structured data object. For example, two
|Invalid top level element||A top-level item in your JSON-LD is invalid.|
|Reference to nonexistent item||An
Supported rich result types
This test currently supports the following rich result types:
- Education Q&A
- Employer aggregate rating
- Estimated salary
- Fact check
- Guided recipe
- Image metadata
- Job posting
- Local business
- Math solvers
- Merchant listings
- Practice Problems
- Product snippet
- Q&A page
- Review snippet
- Sitelinks searchbox
- Software app
- Special Announcement
- Subscribed Content
Save test history
Search Console saves your code and test state each time you run the test. To save a version history of your code and tests, bookmark the page URL after running a test. Test history is saved for approximately 90 days. These bookmarks are accessible by anyone.
Share test results
You can use the Share button to share the test results browser link with anyone; permissions are not required to view the results. Test result links are valid for approximately 90 days.
See how your page might look in Google Search results
For some rich result types you can preview how the result might appear in Google Search or Google Assistant. If your page is eligible for multiple Search result layouts, this tool will include selectors to let you view the different layouts, including layouts for desktop and mobile searches.
You can experiment with your page by changing the code and rerunning the test to generate new layouts. You can share the URL in your browser with other users to share your rendered results.
Depending on what the tool finds on the page, you can choose a result type to view and select a desktop or mobile version.
Google does not guarantee that your page will appear exactly as shown here, or that any of the views shown will be applied to your page result; Google tries to show the best result for a search request, based on the user's search history, location, and many other variables.
More structured data resources
Here are some more resources about structured data and Google Search result features:
- Structured data gallery shows the search result features supported by Google Search.
- Overview of structured data on Google for web page developers to enable these features.