Limited Availability
id: webusb
WebUSB
The WebUSB API exposes USB compatible devices to web pages.
Baseline Status:
This feature is currently Limited and is missing in at least one major browser engine.
Desktop Browser Engine Support
Google Chrome
61
Supported
Mozilla Firefox
—
Unsupported
Apple Safari
—
Unsupported
Microsoft Edge
79
Supported
Mobile Browser Engine Support
Chrome Android
61
Firefox Android
—
Safari iOS
—
Specifications and References
MDN Browser Compat Data Keys:
api.Navigator.usb ↗
api.USB ↗
api.USB.connect_event ↗
api.USB.disconnect_event ↗
api.USB.getDevices ↗
api.USB.requestDevice ↗
api.USB.worker_support ↗
api.USBAlternateInterface ↗
api.USBAlternateInterface.USBAlternateInterface ↗
api.USBAlternateInterface.alternateSetting ↗
api.USBAlternateInterface.endpoints ↗
api.USBAlternateInterface.interfaceClass ↗
api.USBAlternateInterface.interfaceName ↗
api.USBAlternateInterface.interfaceProtocol ↗
api.USBAlternateInterface.interfaceSubclass ↗
api.USBAlternateInterface.worker_support ↗
api.USBConfiguration ↗
api.USBConfiguration.USBConfiguration ↗
api.USBConfiguration.configurationName ↗
api.USBConfiguration.configurationValue ↗
api.USBConfiguration.interfaces ↗
api.USBConfiguration.worker_support ↗
api.USBConnectionEvent ↗
api.USBConnectionEvent.USBConnectionEvent ↗
api.USBConnectionEvent.device ↗
api.USBConnectionEvent.worker_support ↗
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.forget ↗
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.USBDevice.worker_support ↗
api.USBEndpoint ↗
api.USBEndpoint.USBEndpoint ↗
api.USBEndpoint.direction ↗
api.USBEndpoint.endpointNumber ↗
api.USBEndpoint.packetSize ↗
api.USBEndpoint.type ↗
api.USBEndpoint.worker_support ↗
api.USBInTransferResult ↗
api.USBInTransferResult.USBInTransferResult ↗
api.USBInTransferResult.data ↗
api.USBInTransferResult.status ↗
api.USBInTransferResult.worker_support ↗
api.USBInterface ↗
api.USBInterface.USBInterface ↗
api.USBInterface.alternate ↗
api.USBInterface.alternates ↗
api.USBInterface.claimed ↗
api.USBInterface.interfaceNumber ↗
api.USBInterface.worker_support ↗
api.USBIsochronousInTransferPacket ↗
api.USBIsochronousInTransferPacket.USBIsochronousInTransferPacket ↗
api.USBIsochronousInTransferPacket.data ↗
api.USBIsochronousInTransferPacket.status ↗
api.USBIsochronousInTransferPacket.worker_support ↗
api.USBIsochronousInTransferResult ↗
api.USBIsochronousInTransferResult.USBIsochronousInTransferResult ↗
api.USBIsochronousInTransferResult.data ↗
api.USBIsochronousInTransferResult.packets ↗
api.USBIsochronousInTransferResult.worker_support ↗
api.USBIsochronousOutTransferPacket ↗
api.USBIsochronousOutTransferPacket.USBIsochronousOutTransferPacket ↗
api.USBIsochronousOutTransferPacket.bytesWritten ↗
api.USBIsochronousOutTransferPacket.status ↗
api.USBIsochronousOutTransferPacket.worker_support ↗
api.USBIsochronousOutTransferResult ↗
api.USBIsochronousOutTransferResult.USBIsochronousOutTransferResult ↗
api.USBIsochronousOutTransferResult.packets ↗
api.USBIsochronousOutTransferResult.worker_support ↗
api.USBOutTransferResult ↗
api.USBOutTransferResult.USBOutTransferResult ↗
api.USBOutTransferResult.bytesWritten ↗
api.USBOutTransferResult.status ↗
api.USBOutTransferResult.worker_support ↗
api.WorkerNavigator.usb ↗
html.elements.iframe.allow.usb ↗
http.headers.Permissions-Policy.usb ↗