/Web APIs


Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The USBInTransferResult interface of the WebUSB API provides the result from a call to the transferIn() and controlTransferIn() methods of the USBDevice interface. It represents the result from requesting a transfer of data from the USB device to the USB host.


USBInTransferResult() Experimental

Creates a new USBInTransferResult object with the provided status and data fields.

Instance properties

USBInTransferResult.data Read only Experimental

Returns a DataView object containing the data received from the USB device, if any.

USBInTransferResult.status Read only Experimental

Returns the status of the transfer request, one of:

  • "ok" - The transfer was successful.
  • "stall" - The device indicated an error by generating a stall condition on the endpoint. A stall on the control endpoint does not need to be cleared. A stall on a bulk or interrupt endpoint must be cleared by calling clearHalt() before transferIn() can be called again.
  • "babble" - The device responded with more data than was expected.


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
USBInTransferResult 61 79 No No 48 No No 61 No 45 No 8.0
USBInTransferResult 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
data 61 79 No No 48 No No 61 No 45 No 8.0
status 61 79 No No 48 No No 61 No 45 No 8.0

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.