Test a new or experimental web platform feature.
Origin trials give you access to a new or experimental feature, to build functionality your users can try out for a limited time before the feature is made available to everyone.
When Chrome offers an origin trial for a feature, you can register for the trial to enable the feature for all users on your origin, without requiring them to toggle any flags or switch to an alternative build of Chrome (though they may need to upgrade). Origin trials enable developers to build demos and prototypes using new features. The trials also help Chrome engineers understand how new features are used, and how they may interact with other web technologies.
Origin trials are public and open to all developers. They are limited in duration and usage. Participation is a self-managed process with limited documentation and support. Participants should be willing and able to work relatively independently using the documentation available, which, at this stage, will likely be limited to API specifications and explainers, though we try to provide guidance whenever possible.
If you register for a trial, the Chrome team will periodically ask you for specific feedback on your use of the trial feature. Some features may undergo multiple origin trials, as feedback is incorporated and adjustments are made.
Origin trials are also available for Firefox and Microsoft Edge.
Third-party origin trials
Origin trials are usually only available on a first-party basis: they only work for a single registered origin. Third-party origin trials make it possible for providers of embedded content to try a new feature across multiple sites without requiring a token for every origin.
Find out more: What are third-party origin trials?
Deprecation trials
Not all origin trials are for testing new APIs. Some trials enable a deprecated feature to be temporarily re-enabled. These are known as deprecation trials, and in some contexts have been referred to as "reverse" origin trials.
For example, from Chrome 85 AppCache is no longer available in Chrome by default. Sites needing extra time to migrate off AppCache could register for the deprecation trial to continue using AppCache until Chrome 93.
Take part in an origin trial
- Choose an origin trial from the list of active trials.
- Request a token by clicking the Register button and filling out the form.
- Provide the token on every web page for which you want the trial feature to
be enabled:
- As a meta tag in the <head>:
<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
- As an HTTP header:
Origin-Trial: TOKEN_GOES_HERE
- By providing a token programmatically.
- As a meta tag in the <head>:
- Try out the new feature.
- Submit feedback. Do this through the origin trial site. This feedback is not public and is available only to a limited group of people on the Chrome team. Each trial also provides a link for spontaneous community feedback. This typically points to the feature on GitHub or some other public channel.
- When your token expires, you will get an email with a renewal link. To do so, you are again asked to submit feedback.
You can register for the same origin trial multiple times, for different origins, and include multiple tokens in the same page. This can be useful if you need to provide tokens that are valid for resources served from different origins, such as code included on multiple sites that you own.
The origin trials framework looks for the first valid token and then ignores all other tokens. You can validate this with Chrome DevTools.
Provide a token programmatically
Instead of providing a token as an HTTP header or as a meta tag in the HTML of your page, as described earlier, you can inject a token with JavaScript:
const otMeta = document.createElement('meta');
otMeta.httpEquiv = 'origin-trial';
otMeta.content = 'TOKEN_GOES_HERE';
document.head.append(otMeta);
Use this method if you're participating in a third-party trial.
Tokens and iframes
To access a trial feature from an iframe, you can provide a trial token in a meta tag, an HTTP header, or programmatically.
As for all token usage, the origin registered for the token must match the
context of JavaScript that accesses the trial feature: either the origin of the
page the includes an inline script, or the src
of a <script>
element for
JavaScript included from an external file.
Tokens and extensions
To use a trial feature inside of a background script,
popup, sidepanel, or offscreen document use the trial_tokens
key in your manifest.json file.
"trial_tokens": ["AnlT7gRo/750gGKtoI/A3D2rL5yAQA9wISlLqHGE6vJQinPfk0HiIij5LhWs+iuB7mTeotXmEXkvdpOAC1YjAgAAAG97Im9yaWdpbiI6ImNocm9tZS1leHRlbnNpb246Ly9sampoamFha21uY2lib25uanBhb2dsYmhjamVvbGhrayIsImZlYXR1cmUiOiJJQ2Fubm90QmVsaWV2ZVlvdVdhc3RlZFlvdXJUaW1lRGVjb2RpbmdUaGlzIiwiZXhwaXJ5Ijo1NzI1NDA3OTk5fQ=="]
Content scripts are handled differently. Exposing a feature to one world could be confusing and unintuitive. Instead of using the manifest's trial_token
, add the
token to the page either by inserting a header using declarativeNetRequest or programmatically directly in your content script. Remember that tokens are tied to specific domains, so you will want to register one for the domain the content script is running on, rather than your extension ID.
To register your extension for a trial, you use the URL chrome-extension://YOUR_EXTENSION_ID
, for example chrome-extension://ljjhjaakmncibonnjpaoglbhcjeolhkk
.
Renew origin trial enrollment
If an origin trial is extended, you will receive an email warning that you need to renew registration and provide a new token, for each origin enrolled in the trial.
Navigate to the My Registrations page.
For each origin registered for the extended trial, click the RENEW button.
Copy the new token and make it available for every page that should remain enrolled in the trial. You can provide multiple tokens if necessary: Chrome will ignore invalid or expired tokens.
View origin trial information
View information about the origin trials available to a page from the Application panel in Chrome DevTools.
You can also use our origin trial token decoder to view the data encoded in a token.
Origin trial demos
- Token in a meta tag
- Token in a header
- Token injected by third-party script
- Feature accessed in an iframe
- Cross-origin iframe examples
- Origin trial token decoder
Find out more
- Troubleshooting Chrome's origin trials
- What are third-party origin trials?
- Origin trials guide for web developers
- Origin trial explainer
- Running an origin trial
- Process for launching new features in Chromium
- Intent to explain: Demystifying the Blink shipping process
- View origin trials information in DevTools
- Use Origin Trials in Microsoft Edge
- Origin trials for Firefox