The USBInterface interface of the WebUSB API provides information about an interface provided by the USB device. An interface represents a feature of the device which implements a particular protocol and may contain endpoints for bidirectional communication.
   
  Constructor
  
   
    - USBInterface()Experimental
- 
     Creates a new USBInterfaceobject which will be populated with information about the interface on the providedUSBConfigurationwith the given interface number.
 
 
  Instance properties
  
   
    - USBInterface.interfaceNumberRead only   Experimental
- 
     Returns the interface number of this interface. This is equal to the bInterfaceNumberfield of the interface descriptor defining this interface.
 
- USBInterface.alternateRead only   Experimental
- 
     Returns the currently selected alternative configuration of this interface. By default this is the USBAlternateInterfacefromalternateswithalternateSettingequal to0. It can be changed by callingUSBDevice.selectAlternateInterface()with any other value found inalternates.
 
- USBInterface.alternatesRead only   Experimental
- 
     Returns an array containing instances of the USBAlternateInterfaceinterface describing each of the alternative configurations possible for this interface.
 
- USBInterface.claimedRead only   Experimental
- 
     Returns whether or not this interface has been claimed by the current page by calling USBDevice.claimInterface().
 
 
  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 | 
     
     
      
       | USBInterface | 61 | 79 | No | No | 48 | No | No | 61 | No | 45 | No | 8.0 | 
      
       | USBInterface | 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 | 
      
       | alternate | 61 | 79 | No | No | 48 | No | No | 61 | No | 45 | No | 8.0 | 
      
       | alternates | 61 | 79 | No | No | 48 | No | No | 61 | No | 45 | No | 8.0 | 
      
       | claimed | 61 | 79 | No | No | 48 | No | No | 61 | No | 45 | No | 8.0 | 
      
       | interfaceNumber | 61 | 79 | No | No | 48 | No | No | 61 | No | 45 | No | 8.0 |