WebUSB
Limited availability
The WebUSB API exposes USB compatible devices to web pages.
Compatibility (view on caniuse.com)
- Chrome 61 Released on 2017-09-05
- Chrome Android 61 Released on 2017-09-05
- Edge 79 Released on 2020-01-15
- Firefox ❌ Search for bugs Search for standards position
- Firefox for Android ❌ Search for bugs Search for standards position
- Safari ❌ Search for bugs Search for standards position
- Safari on iOS ❌ Search for bugs Search for standards position
MDN docs
- Navigator.usb
- USB
- USB.connect_event
- USB.disconnect_event
- USB.getDevices
- USB.requestDevice
- USBAlternateInterface
- USBConfiguration
- USBConfiguration.USBConfiguration
- USBConfiguration.configurationName
- USBConfiguration.configurationValue
- USBConfiguration.interfaces
- USBConnectionEvent
- USBConnectionEvent.USBConnectionEvent
- USBConnectionEvent.device
- USBDevice
- USBDevice.claimInterface
- USBDevice.clearHalt
- USBDevice.close
- USBDevice.configuration
- USBDevice.configurations
- USBDevice.controlTransferIn
- USBDevice.controlTransferOut
- USBDevice.deviceClass
- USBDevice.deviceProtocol
- USBDevice.deviceSubclass
- USBDevice.deviceVersionMajor
- USBDevice.deviceVersionMinor
- USBDevice.deviceVersionSubminor
- USBDevice.isochronousTransferIn
- USBDevice.isochronousTransferOut
- USBDevice.manufacturerName
- USBDevice.open
- USBDevice.opened
- USBDevice.productID
- USBDevice.productName
- USBDevice.releaseInterface
- USBDevice.reset
- USBDevice.selectAlternateInterface
- USBDevice.selectConfiguration
- USBDevice.serialNumber
- USBDevice.transferIn
- USBDevice.transferOut
- USBDevice.usbVersionMajor
- USBDevice.usbVersionMinor
- USBDevice.usbVersionSubminor
- USBDevice.vendorID
- USBEndpoint
- USBInTransferResult
- USBInterface
- USBIsochronousInTransferPacket
- USBIsochronousInTransferResult
- USBIsochronousOutTransferPacket
- USBIsochronousOutTransferResult
- USBOutTransferResult
Specifications
BCD data
- api.Navigator.usb
- api.USB
- api.USB.connect_event
- api.USB.disconnect_event
- api.USB.getDevices
- api.USB.requestDevice
- api.USBAlternateInterface
- api.USBAlternateInterface.USBAlternateInterface
- api.USBAlternateInterface.alternateSetting
- api.USBAlternateInterface.endpoints
- api.USBAlternateInterface.interfaceClass
- api.USBAlternateInterface.interfaceName
- api.USBAlternateInterface.interfaceProtocol
- api.USBAlternateInterface.interfaceSubclass
- api.USBConfiguration
- api.USBConfiguration.USBConfiguration
- api.USBConfiguration.configurationName
- api.USBConfiguration.configurationValue
- api.USBConfiguration.interfaces
- api.USBConnectionEvent
- api.USBConnectionEvent.USBConnectionEvent
- api.USBConnectionEvent.device
- api.USBDevice
- api.USBDevice.claimInterface
- api.USBDevice.clearHalt
- api.USBDevice.close
- api.USBDevice.configuration
- api.USBDevice.configurations
- api.USBDevice.controlTransferIn
- api.USBDevice.controlTransferOut
- api.USBDevice.deviceClass
- api.USBDevice.deviceProtocol
- api.USBDevice.deviceSubclass
- api.USBDevice.deviceVersionMajor
- api.USBDevice.deviceVersionMinor
- api.USBDevice.deviceVersionSubminor
- api.USBDevice.isochronousTransferIn
- api.USBDevice.isochronousTransferOut
- api.USBDevice.manufacturerName
- api.USBDevice.open
- api.USBDevice.opened
- api.USBDevice.productId
- api.USBDevice.productName
- api.USBDevice.releaseInterface
- api.USBDevice.reset
- api.USBDevice.selectAlternateInterface
- api.USBDevice.selectConfiguration
- api.USBDevice.serialNumber
- api.USBDevice.transferIn
- api.USBDevice.transferOut
- api.USBDevice.usbVersionMajor
- api.USBDevice.usbVersionMinor
- api.USBDevice.usbVersionSubminor
- api.USBDevice.vendorId
- api.USBEndpoint
- api.USBEndpoint.USBEndpoint
- api.USBEndpoint.direction
- api.USBEndpoint.endpointNumber
- api.USBEndpoint.packetSize
- api.USBEndpoint.type
- api.USBInTransferResult
- api.USBInTransferResult.USBInTransferResult
- api.USBInTransferResult.data
- api.USBInTransferResult.status
- api.USBInterface
- api.USBInterface.USBInterface
- api.USBInterface.alternate
- api.USBInterface.alternates
- api.USBInterface.claimed
- api.USBInterface.interfaceNumber
- api.USBIsochronousInTransferPacket
- api.USBIsochronousInTransferPacket.USBIsochronousInTransferPacket
- api.USBIsochronousInTransferPacket.data
- api.USBIsochronousInTransferPacket.status
- api.USBIsochronousInTransferResult
- api.USBIsochronousInTransferResult.USBIsochronousInTransferResult
- api.USBIsochronousInTransferResult.data
- api.USBIsochronousInTransferResult.packets
- api.USBIsochronousOutTransferPacket
- api.USBIsochronousOutTransferPacket.USBIsochronousOutTransferPacket
- api.USBIsochronousOutTransferPacket.bytesWritten
- api.USBIsochronousOutTransferPacket.status
- api.USBIsochronousOutTransferResult
- api.USBIsochronousOutTransferResult.USBIsochronousOutTransferResult
- api.USBIsochronousOutTransferResult.packets
- api.USBOutTransferResult
- api.USBOutTransferResult.USBOutTransferResult
- api.USBOutTransferResult.bytesWritten
- api.USBOutTransferResult.status