This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The features() method of the FeaturePolicy interface returns a list of names of all features supported by the User Agent. Feature whose name appears on the list might not be allowed by the Feature Policy of the current execution context and/or might not be accessible because of user's permissions.


const supportedFeatures = FeaturePolicy.features()



Return value

A list of strings that represent names of all Feature Policy directives supported by the User Agent.


The followin example logs all the supported directives in the console.

// Get the Feature Policy object
const featurePolicy = document.featurePolicy

// Retreive the list of all supported Feature Policy directives
const supportedDirectives = featurePolicy.features()

// Print out each directive into the console
for (const directive of supportedDirectives){


Specification Status Comment
Feature Policy
The definition of 'features' in that specification.
Editor's Draft Initial definition.

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Chrome Full support 74Edge No support NoFirefox No support NoIE No support NoOpera Full support 62Safari No support NoWebView Android Full support 74Chrome Android Full support 74Firefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android ?


Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.

Document Tags and Contributors

Contributors to this page: bershanskiy
Last updated by: bershanskiy,