Rich Results Test

Put structured data on your page to enable special features in Google Search results, then test it with the Rich Results test.

This is a beta version of the test. Not all rich result types or error types are supported yet. Results are not guaranteed to be accurate, or to guarantee appearance in search results. See the Supported Types section below for details.



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.

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.

Supported rich result types

This test currently supports only the following rich result types:


Syntax errors in items of unknown type
Certain errors can halt the parser before it can even determine the rich result type. If you have such an error, you will get a section labeled "Syntax errors in items of unknown type". Here are the errors that can cause this condition:
Error type Description
Invalid JSON document The JSON had a top-level syntax error.
Incorrect value type The value specified for a property was of the wrong type. For example, you specified a string when a number or array was expected.
Parsing error: Missing ':' Missing a ':' mark.
Parsing error: Missing ',' or '}' Missing a ',' or closing bracket.
Parsing error: Missing '}' or object member name
Missing a closing bracket or object member name.
Parsing error: Missing ',' or ']' in array declaration Error parsing an array value: missing a ',' or ']' in the 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:

"description" : "Call me \ John"

rather than

"description" : "Call me \"John\"".

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 @context values.
Invalid top level element A top-level item in your JSON-LD is invalid.
Reference to nonexistent item An itemref attribute points to a non-existent identifier.

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:

Was this helpful?
How can we improve it?