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 following example logs all the supported directives in the console.

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

// Retrieve 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
Permissions Policy
The definition of 'features' in that specification.
Editor's Draft Initial definition.

Browser compatibility

BCD tables only load in the browser