March 4, 2024
USBDeview is a small utility that lists all USB devices that currently connected to your computer, as well as all USB devices that you previously used.

USBDeview is a small utility that lists all USB devices that currently connected to your computer, as well as all USB devices that you previously used.
For each USB device, extended information is displayed: Device name/description, device type, serial number (for mass storage devices), the date/time that device was added, VendorID, ProductID, and more…
USBDeview also allows you to uninstall USB devices that you previously used, disconnect USB devices that are currently connected to your computer, as well as to disable and enable USB devices.
You can also use USBDeview on a remote computer, as long as you login to that computer with admin user.

License

This utility is released as freeware. You are allowed to freely distribute this utility via floppy disk, CD-ROM, Internet, or in any other way, as long as you don’t charge anything for this. If you distribute this utility, you must include all files in the distribution package, without any modification !

Disclaimer

The software is provided “AS IS” without any warranty, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The author will not be liable for any special, incidental, consequential or indirect damages due to loss of data or any other reason.

System Requirement

  • This utility works on Windows 2000, Windows XP, Windows 2003, Windows Vista, Windows Server 2008, Windows 7, Windows 8, Windows 10, and Windows 11. Both 32-bit and 64-bit systems are supported. Windows 98/ME is not supported.

Known Issues

  • In order to disable/enable USB items on x64 systems, you also must use the x64 version of USBDeview.
  • The ‘Created Date’ column doesn’t display correct values on Windows 7/8/Vista/2008.
  • Some USB devices with bad driver may cause USBDeview to hang. In order to bypass this problem, you should turn off the ‘Retrieve USB Power/Version Information’ option:
    USBDeview.exe /RetrieveUSBPower 0

Versions History

  • Version 3.06
    • Fixed a few high DPI mode issues.
    • Added ‘Show Milliseconds In Time’ option.
  • Version 3.05
    • Added ‘WCID’ column, which displays the ‘Compatible ID’ and ‘Sub-Compatible ID’ strings for WCID Devices (For example: MTP, PTP, WINUSB)
  • Version 3.03
    • Updated USBDeview to load the usb.ids.txt file if usb.ids doesn’t exist. (Because some Web browsers save it by default with .txt extension)
  • Version 3.02
    • Updated to work properly in high DPI mode.
    • Added option to change the sorting column from the menu (View -> Sort By). Like the column header click sorting, if you click again the same sorting menu item, it’ll switch between ascending and descending order. Also, if you hold down the shift key while choosing the sort menu item, you’ll get a secondary sorting.
  • Version 3.01
    • Added ‘Copy Clicked Cell’ option to the right-click context menu, which copies to the clipboard the text of cell that you right-clicked with the mouse.
  • Version 3.00
    • Added 4 new columns: Install Time, First Install Time, Connect Time, Disconnect Time.
    • You can view the new fields only when you run USBDeview as Administrator (Elevation). You can run USBDeview as Administrator by pressing Ctrl+F11.
    • ‘Install Time’ and ‘First Install Time’ fields are available starting from Windows 7.
    • ‘Connect Time’ and ‘Disconnect Time’ fields are available only on Windows 8 and Windows 10.
    • These properties are stored in the Registry under Properties\{83da6326-97a6-4088-9453-a1923f573b29} subkey of every USB device, and only SYSTEM user can read them.
    • Changed the ‘Created Date’ column to ‘Registry Time 1’ and the ‘Last Plug/Unplug Date’ column to ‘Registry Time 2’. The change is made because the actual meaning of these timestamps is different from one system to another.
  • Version 2.86
    • Added ‘RegEdit Open Mode’ option – ‘Without Elevation’ or ‘With Elevation’.
  • Version 2.85
    • Added option to create a shortcut on your desktop to disable,enable,disable-enable, or disconnect a USB device.
    • In order to create the shortcut, select the desired item you want to disable/enable/disconnect, go to File -> Create Desktop Shortcut and from the submenu choose the desired action for the shortcut.
    • The shortcut will work only for the USB item you selected.
  • Version 2.81
    • Added ‘Open Device Properties Window’ option.
  • Version 2.80
    • Fixed the serial number command-line options (/stop_by_serial , /enable_by_serial , /disable_by_serial , /remove_by_serial) to accept decoded serial numbers.
  • Version 2.79
    • Added ‘Always On Top’ option.
  • Version 2.78
    • Added /cfg command-line option to start USBDeview with the specified config file.
  • Version 2.77
    • You can now change the number of milliseconds to wait between disable and enable actions when using the ‘Disable+Enable Selected Devices’ option (or disable-enable command-line options).
      In order to change it – edit the config file (USBDeview.cfg) and change the ‘DisableEnableWaitTime’ value (The default is 100 milliseconds).
  • Version 2.76
    • You can now send the data to stdout by specifying empty string as filename, for example:
      USBDeview.exe /scomma “” | more
  • Version 2.75
    • When connecting a remote computer, the computer name is now displayed in the window title.
    • Added ‘Select All’ and ‘Deselect All’ to the ‘Column Settings’ window.
  • Version 2.74
    • Fixed bug: The /regfile , /remote and /remotefile command-line options stopped working properly because the USBDeview loaded the settings from the .cfg file…
  • Version 2.73
    • USBDeview now detects the port name (COM1, COM2, COM3… ) of FTDI devices.
  • Version 2.72
    • Added ‘Friendly Name’ column.
  • Version 2.71
    • When running USBDeview locally, the ‘Computer Name’ column now displays the local computer name (In previous versions it was empty)
  • Version 2.70
    • Added new command-line options to check whether a USB device is connected (USBDeview returns 0 if the device is not connected): /is_connected , /is_connected_by_serial , /is_connected_by_drive, /is_connected_by_class , /is_connected_by_pid
      For example: USBDeview.exe /is_connected “USB\Vid_1058&Pid_1023\8539583490834690”
    • Added new command-line options to check whether a USB device is disabled (USBDeview returns 0 if the device is not disabled): /is_disabled , /is_disabled_by_serial , /is_disabled_by_drive, /is_disabled_by_class , /is_disabled_by_pid
      For example: USBDeview.exe /is_disabled “USB\Vid_1058&Pid_1023\8539583490834690”
  • Version 2.66
    • USBDeview now can start the Remote Registry service even if it’s disabled.
  • Version 2.65
    • Added option to automatically start the Remote Registry service on the remote machine for reading the USB devices information (In ‘Advnaced Options’ window).
  • Version 2.62
    • Added /RunAsAdmin command-line option. You can use it with other command-line options of actions that require elevation ( /remove, /disable , /enable , /disable_enable ), for example:
      USBDeview.exe /RunAsAdmin /disable “USB\Vid_1058&Pid_1023\8539583490834690”
  • Version 2.61
    • Fixed bug: The ‘Run As Administrator’ option failed to work randomly on some systems.
  • Version 2.60
    • Improved the detection of device connect status (Connected column) on Windows 10 and Windows 8.
  • Version 2.55
    • Added ‘Display Only Devices With Drive Letter’ option.
  • Version 2.52
    • USBDeview now saves the last selected font in the .cfg file.
  • Version 2.51
    • Added ‘Open INF File’ option.
  • Version 2.50
    • Added ‘Driver InfSection’ and ‘Driver InfPath’ columns.
  • Version 2.46
    • Added ‘Run As Administrator’ option.
  • Version 2.45
    • You can now choose to connect a remote computer or external Registry file from the ‘Advanced Options’ window (In previous versions, you could do it only from command-line)
    • Fixed to display an error message when USBDeview fails to connect a remote computer.
  • Version 2.42
    • Added ‘Capabilities’ column. You can read about the meaning of every string inside this column in this article
  • Version 2.41
    • Fixed bug: USBDeview failed to remember the last size/position of the main window if it was not located in the primary monitor.
  • Version 2.40
    • Added ‘Sort On Every Update’ option.
  • Version 2.37
    • Added ‘Decode Serial Numbers’ option. When it’s turned on, a serial number that is encoded as hexadecimal string is decoded to Ascii.
  • Version 2.36
    • Added secondary sorting support: You can now get a secondary sorting, by holding down the shift key while clicking the column header. Be aware that you only have to hold down the shift key when clicking the second/third/fourth column. To sort the first column you should not hold down the Shift key.
  • Version 2.35
    • Added ‘Reload USB Hub’ option (Ctrl+R). When you select a USB hub item and use the ‘Reload USB Hub’ option, all USB devices connected to this hub are reconnected, including USB devices that you previously disconnected. Be aware that in order to use this option, you also have to turn on the ‘Show USB Hubs’ option (Ctrl+F7).
  • Version 2.31
    • Added ‘Copy Sorted Column Data’ option, which copies to the clipboard the text of all selected items, but only the column that is currently sorted.
  • Version 2.30
    • Fixed bug on Windows Vista/7/8 with UAC turned on: USBDeview failed to remove USB devices when running without elevation.
  • Version 2.29
    • Fixed to display the correct Power value of USB 3.0 devices.
  • Version 2.28
    • Fixed to display date/time values according to daylight saving time settings.
  • Version 2.27
    • You can now use the ‘Open In RegEdit’ features on Windows Vista/7/8 (with UAC turned on) without running USBDeview.exe as Administrator. Elevation window will appear to confirm every action.
  • Version 2.26
    • Update for Windows 7/8/Vista/2008: USBDeview now extracts the real device name directly from hardware when the device is connected and the ‘Retrieve USB Power/Version Information’ option is turned on.
  • Version 2.25
    • Added new command-line options to disable and then enable again a device: /disable_enable, /disable_enable_by_serial , /disable_enable_by_drive , /disable_enable_by_class , /disable_enable_by_pid , /disable_enable_all
    • You can now specify the device Instance ID string in the following command-line options: /disable, /enable, /remove, /disable_enable, /stop
      For example: USBDeview.exe /disable “USB\Vid_1058&Pid_1023\8539583490834690”
    • You can now use the disable/enable/uninstall features on Windows Vista/7/8 (with UAC turned on) without running USBDeview.exe as Administrator. Elevation window will appear to confirm every action.
  • Version 2.22
    • Fixed USBDeview to add header line to the csv/tab-delimited files when exporting the USB information from command-line. In order to add the header line, you can use the /AddExportHeaderLine command-line option, or simply turn on the ‘Add Header Line To CSV/Tab-Delimited File’ option from the user interface.
  • Version 2.21
    • You can now use the disable/enable/remove command-line options according to the com number of a USB to serial device. For example:
      USBDeview.exe /disable_by_drive com62
  • Version 2.20
    • Update for Windows 8: It seems that on Windows 8, it’s impossible to detect from the Registry whether a device is connected or disconnected, so instead of using the Registry, a device is displayed as connected if it has power/version information. Be aware that if the ‘Retrieve USB Power/Version Information’ option is turned off on Windows 8, all devices will displayed as disconnected.
  • Version 2.18
    • Fixed issue: The %drive% variable returned empty string for USB to serial devices.
  • Version 2.17
    • Fixed bug: When plugging 2 USB devices with the same pid/vid, USBDeview disabled/enabled/removed the wrong device.
  • Version 2.16
    • Added new variable to the execute command option: %usb_version%
  • Version 2.15
    • Added ‘Auto Size Columns+Headers’ option, which allows you to automatically resize the columns according to the row values and column headers.
    • Fixed issue: The properties and the options windows opened in the wrong monitor, on multi-monitors system.
  • Version 2.12
    • Fixed issue: USBDeview failed to detect some devices as connected, even if they were connected.
  • Version 2.11
    • Fixed USBDeview to detect the version/power information of Etron USB 3.0 host controller, and possibly other USB host controllers.
  • Version 2.10
    • Fixed the ‘Last Plug/Unplug Date’ value on Windows 7.
    • Fixed the ‘Device Mfg’ value on Windows 7.
  • Version 2.06
    • Fixed bug: USBDeview froze for a few seconds if there was a disconnected network drive on the system.
  • Version 2.05
    • Fixed the speed test error messages of USB 3.0 devices. Also, you can now submit the speed tests of USB 3.0 devices to http://usb3speed.nirsoft.net Web site
  • Version 2.00
    • Changed the USB status icons so it’ll be much easier to distinguish between them, especially on small LCD monitors.
  • Version 1.97
    • Added more accelerator keys.
    • Fixed the minimum size of Advanced Options window.
    • Added a few more command-line options.
  • Version 1.96
    • Fixed to USBDeview to detect USB hubs (and probably some other devices) as connected.
  • Version 1.95
    • Added ‘USB Version’ column, which displays the USB version of the device. This column is active only when ‘Retrieve USB Power/Version Information’ option is turned on.
  • Version 1.92
    • Added ‘Turn Off Device On Disable/Remove’ option, only for Windows 7/2008/Vista. As opposed to Windows XP, Windows 7/2008/Vista doesn’t turn off the USB device when you disable or ‘Safely Remove’ the device. This new option make a small Registry change to make Windows 7/2008/Vista behave like Windows XP and turn off the device after disable or ‘Safely Remove’ action. For more information: USB Port Remains Active for Disabled or Safely Removed USB Device.
      Be aware that this change takes effect only after reboot, and requires full admin rights (execute USBDeview.exe with ‘Run As Administrator’)
  • Version 1.91
    • For USB To Serial devices, USBDeview now displays the port name (Com1, Com2, Com3,…), if it’s stored in the Registry. The port name is displayed on the ‘Drive Letter’ column.
  • Version 1.90
    • Improved the detection of the ‘Last Plug/Unplug Date’ value.
  • Version 1.89
    • Added ‘Mark Odd/Even Rows’ option, under the View menu. When it’s turned on, the odd and even rows are displayed in different color, to make it easier to read a single line.
  • Version 1.88
    • Added ‘Mark Connected Devices’ option. When it’s turned on, the plugged USB devices are marked with green background color.
  • Version 1.87
    • Added Device Instance ID column.
  • Version 1.86
    • USBDeview now displays a message with instructions to run as administrator when you try to disable/enable/remove a device on Windows 7/2008/Vista with UAC turned on.
  • Version 1.85
    • Added ‘Change Assigned Drive Letter’ option, which allows you to change the drive letter that is assigned to a USB device. In the next time that you plug the device, the new drive letter that you chose will be used.
  • Version 1.84
    • Added new variables to the execute command option: %firmware_revision%, %product_name%, %vendor_name%
  • Version 1.83
    • Fixed bug: When typing commands in the ‘Advanced Options’ with quotes as the first or last letter, the quotes disappeaed when saving to the .cfg file.
  • Version 1.82
    • The properties window now contains 2 properties columns, instead of one very long properties column in the previous versions.
  • Version 1.81
    • Added new variables to the execute command option: %driver_file%, %driver_version%, and %power%
  • Version 1.80
    • Added ‘Firmware Revision’ column.
  • Version 1.77
    • Added ‘Display Tray Balloon When Device Is Disconnected’ option.
  • Version 1.76
    • Added ‘Add Header Line To CSV/Tab-Delimited File’ option. When this option is turned on, the column names are added as the first line when you export to csv or tab-delimited file.
  • Version 1.75
    • Added ‘Driver Description’ and ‘Driver Version’ columns.
    • The status and version of usb.ids (The VendorID/ProductID file) is now displayed in the right side of the bottom status bar. Clicking this usb.ids status will open http://www.linux-usb.org/usb.ids in your default Web browser.
  • Version 1.70
    • Added option to execute a command when you unplug a USB device (In ‘Advanced Options’ window)
  • Version 1.67
    • You can now send the USB devices information to stdout by specifying an empty filename (“”) in the command-line. (For example: usbdeview.exe /stext “” >> c:\temp\usb.txt)
    • Added new variables to the execute command option: %device_type%, %service_name%, %device_class%, and %device_mfg%
  • Version 1.65
    • Added ‘Power’ column, which displays the power required by the device in mA. (Works only for local computer)
  • Version 1.60
    • Added 2 new columns: ‘Device Class’ and ‘Device Mfg’.
  • Version 1.56
    • Fix bug: when saving USB devices list from command-line, USBDeview saved all items, without considering the last saved configuration.
    • Added command-line options that controls what devices to save or display (/DisplayDisconnected, /DisplayHubs, /DisplayNoPortSerial, /DisplayNoDriver).
  • Version 1.55
    • Added 3 new columns of service/driver information: Service Name, Service Description, Driver Filename.
  • Version 1.50
    • Improved drive letter detection: USBDeview now also detect the drive letter of hard-disk drives connected to USB. (This improvement only works only for local computer)
  • Version 1.48
    • Fixed bug: USBDeview didn’t allow you to make a speed test when the drive letter of the USB drive was A: or B:
  • Version 1.47
    • Fixed bug: USBDeview displayed wrong drive letters when the serial number or ParentId Prefix contained only one character.
    • Added a separated version for x64 systems, in order to allow you to disable/enable items on x64 systems.
  • Version 1.46
    • Added ‘ParentId Prefix’ column, which shows the ID string of the parent device.
  • Version 1.45
    • Fixed bug: On Windows Vista/7, USBDeview failed to detect that USB devices are disabled.
    • Added support for sorting the USB devices list from command-line.
  • Version 1.43
    • Fixed issue with Windows 7/Vista: The description field displayed unneeded prefix string like ‘@oem4.inf,%athr.devicedesc.5523%’.
  • Version 1.42
    • Added a few reliability checks for flash drive speed tests. If USBDeview detect that the final speed test result might not be reliable, an error message will be displayed.
  • Version 1.41
    • Fixed issue: When USBDeview window is hidden and there is an icon in the taskbar, running USBDeview again will open the existing instance of USBDeview, instead of creating another one.
  • Version 1.40
    • Added ‘Speed Test’ option for testing the read/write speed of your USB flash drive. Also, Added an option to publish your speed test results in http://usbspeed.nirsoft.net.
  • Version 1.36
    • Fixed bug: USBDeview didn’t display some partly installed devices.
  • Version 1.35
    • Added ‘Vendor Name’ and ‘Product Name’ columns. (Requires to download an external USB IDs file)
    • New variables in command-string: %vid_hex% and %pid_hex% (vid and pid values as hexadecimal number)
    • Add icons legend in the help file and in the Web page.
  • Version 1.30
    • Added new option: Show Time In GMT.
  • Version 1.29
    • Fixed bug: For USB flash drives with multiple drives (like SanDisk Cruzer With U3), USBDeview displayed only one drive letter randomly. Now it can display multiple drive letters.
  • Version 1.28
    • Added command-line options: /stop_by_pid, /disable_by_pid, /enable_by_pid, /remove_by_pid
  • Version 1.27
    • Added new option: Open In RegEdit.
  • Version 1.26
    • The ‘Advanced Options’ dialog-box is now resizable.
    • Added ‘USB Hub’ column (yes/no).
  • Version 1.25
    • Added Disable+Enable option – gives you the affect similar to unplugging and then plugging back the device.
    • Added ‘Open Drive’ option (For USB flash drives).
  • Version 1.22
    • Added new command line options: /remove_all_connected, /remove_all_disconnected
    • Fixed bug: using /remove_all removed also the USB hubs and caused the USB to stop working until restarting the computer.
  • Version 1.21
    • Added new option: Select Another Font.
  • Version 1.20
    • Added new command-line options to disable/enable/remove USB devices.
  • Version 1.18
    • Fixed bug: The main window lost the focus when the user switched to another application and then returned back to USBDeview.
  • Version 1.17
    • Fixed bug in saving as comma-delimited file when description or name fields contained comma character.
  • Version 1.16
    • Added support for saving comma-delimited (.csv) files.
    • Added new command-line option: /scomma
  • Version 1.15
    • New options: Disable/enable the selected USB devices (Works only with admin rights)
    • New Option: Start USBDeview As Hidden (Only when ‘Put Icon On Tray’ is turned on)
  • Version 1.12
    • The configuration is now saved to a file, instead of the Registry.
    • New option: Display a balloon in the tray icon when a new device is connected (only for Windows XP or above).
  • Version 1.11
    • Fixed bug: Changing the status of ‘Put Icon On Tray’ also changed the status of ‘Show Tooltips’.
  • Version 1.10
    • New Option: Put Icon On Tray
    • New Option: AutoPlay on selected devices.
    • New Option: AutoPlay When Device Is Connected.
    • New Option: Execute a command when you insert a USB device. (In Advanced Options)
    • New Option: Disconnect All Devices.
  • Version 1.06
    • Added Disconnect/Uninstall buttons to the toolbar.
  • Version 1.05
    • New command-line option: /regfile
    • New option: Display USB Hubs.
  • Version 1.03 – New command-line option: /stop_by_class
  • Version 1.02 – New option: Display devices without drivers.
  • Version 1.01 – Fixed bug: In some computers, the USB devices list was loaded from the wrong hardware configuration.
  • Version 1.00 – First release.

Using USBDeview

USBDeview doesn’t require any installation process or additional DLL files. Just copy the executable file (USBDeview.exe) to any folder you like, and run it.
The main window of USBDeview displays all USB devices installed on your system. You can select one or more items, and then disconnect (unplug) them , uninstall them, or just save the information into text/xml/html file.

USBDeview Columns Description

  • Device Name: Specifies the device name. For some device, this column may display meaningless name, like “USB Device”. If the device name is meaningless, try to look at the Description column.
  • Device Description: The description of the device.
  • Device Type: The device type, according to USB class code. For more information about USB classes: USB Class Codes.
  • Connected: Specifies whether the device is currently connected to your computer. If the device is connected, you can use the ‘Disconnect Selected Devices’ option (F9) to disconnect the device.
  • Safe To Unplug: Specifies whether it’s safe to unplug the device from the USB plug without disconnecting it first. If the value of this column is false, and you want to unplug this device, you must first disconnect this device by using the ‘Disconnect Selected Devices’ option (F9) of USBDeview utility, or by using the ‘Unplug or Eject Hardware’ utility of Windows operating system.
  • Drive Letter: Specifies the drive letter of the USB device. This column is only relevant to USB flash memory devices and to USB CD/DVD drives. Be aware that USBDeview cannot detect drive letters of USB hard-disks.
  • Serial Number: Specifies the serial number of the device. This column is only relevant to mass storage devices (flash memory devices, CD/DVD drives, and USB hard-disks).
  • Registry Time 1: This date/time value is taken from the timestamp of the device Registry key. In many cases, this date/time value represents the time that you first plugged the device to the USB port. However, be aware that in some circumstances this value may be wrong. Also, On Windows 7, this value is initialized with the current date/time on every reboot.
  • Registry Time 2: This date/time value is taken from the timestamp of the device Registry key. On some systems this time values Specifies the last time that you plugged/unplugged the device. This date value is lost when you restart the computer.
  • VendorID/ProductID: Specifies the VendorID and ProductID of the device. For unofficial list of VendorID/ProductID, click here.
  • USB Class/Subclass/Protocol: Specifies the Class/Subclass/Protocol of the device according to USB specifications. For more information about USB classes: USB Class Codes.
  • Hub/Port: Specifies the hub number and port number that the device was plugged into. This value is empty for mass storage devices.
  • Install Time: Specifies the date/time when the USB device was installed. USBDeview can read this property only when you run it as Administrator. This property is stored under Properties\{83da6326-97a6-4088-9453-a1923f573b29} subkey, property number is 0064.
  • First Install Time: Specifies when the USB device was installed in the first time. USBDeview can read this property only when you run it as Administrator. This property is stored under Properties\{83da6326-97a6-4088-9453-a1923f573b29} subkey, property number is 0065.
  • Connect Time: Specifies the last time that the USB device was plugged. USBDeview can read this property only when you run it as Administrator. This property is available only on Windows 10/8. This property is stored under Properties\{83da6326-97a6-4088-9453-a1923f573b29} subkey, property number is 0066.
  • Disconnect Time: Specifies the last time that the USB device was unplugged. This property is available only on Windows 10/8. USBDeview can read this property only when you run it as Administrator. This property is stored under Properties\{83da6326-97a6-4088-9453-a1923f573b29} subkey, property number is 0067.

Download : USBDeview v3.06