The USBConfiguration interface of the WebUSB API provides information about a particular configuration of a USB device and the interfaces that it supports.
   
  Constructor
  
   
    - USBConfiguration()Experimental
- 
     Creates a new USBConfigurationobject which contains information about the configuration on the providedUSBDevicewith the given configuration value.
 
 
  Instance properties
  
   
    - USBConfiguration.configurationValueRead only   Experimental
- 
     Returns the configuration value of this configuration. This is equal to the bConfigurationValuefield of the configuration descriptor provided by the device defining this configuration.
 
- USBConfiguration.configurationNameRead only   Experimental
- 
     Returns the name provided by the device to describe this configuration. This is equal to the value of the string descriptor with the index provided in the iConfigurationfield of the configuration descriptor defining this configuration.
 
- USBConfiguration.interfacesRead only   Experimental
- 
     Returns an array containing instances of the USBInterfacedescribing each interface supported by this configuration.
 
 
  Specifications
  
  Browser compatibility
  
   
    
     
      
       |  | Desktop | Mobile | 
      
       |  | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | 
     
     
      
       | USBConfiguration | 61 | 79 | No | No | 48 | No | No | 61 | No | 45 | No | 8.0 | 
      
       | USBConfiguration | 61 | 79 | No | No | 48 | No | NoWebView exposes this interface, but does not support WebUSB. See Chromium bug 933055. | 61 | No | 45 | No | 8.0 | 
      
       | configurationName | 61 | 79 | No | No | 48 | No | No | 61 | No | 45 | No | 8.0 | 
      
       | configurationValue | 61 | 79 | No | No | 48 | No | No | 61 | No | 45 | No | 8.0 | 
      
       | interfaces | 61 | 79 | No | No | 48 | No | No | 61 | No | 45 | No | 8.0 |