Version 73 (modified by stuge, 4 years ago) (diff)

Reverted to version 60.



libusb is a C library that gives applications easy access to USB devices on many different operating systems. libusb is an open source project, the code is licensed under the GNU Lesser General Public License version 2.1 or later.

Getting started

There are two versions of the libusb API: the current libusb-1.0 API, and its legacy predecessor libusb-0.1.
Please use libusb-1.0 for all new development. For a detailed comparison of API versions, see the APIs page.

Download the latest release tarball Browse the source code Documentation
1.0 libusb-1.0.9 (2012-04-20) libusb-1.0 gitweb 1.0 API documention
0.1 (legacy) libusb-compat-0.1.4 (2012-04-24) libusb-compat-0.1 gitweb 0.1 API documention


Please read the FAQ (Frequently Asked Questions) page to see if your question has already been answered.

Please ask unanswered questions on the mailing list or in the IRC channel. Remember to search for an answer on your own, before asking others for help. Also remember to include debug information if you have a question about a specific program or problem.

Bugs and feature requests

If you find a bug in libusb, libusb-compat-0.1, or another related program, or if you wish to request an enhancement, please verify that the bug still exists in the newest code, and then please create a new ticket on this web page.

We require that you register an account and verify your email address before you can create a ticket, in an attempt to reduce the amount of spam that gets into the system. We are sorry for this inconvenience, but registering is quick and simple so please don't let it stop you.

Make sure to view the list of active tickets before creating a new ticket, so that duplicates can be avoided. Remember to include debug information in your bug report and/or mailing list posts.

Thank you for helping make libusb even better!


Well-known users of libusb include:

  • CUPS printing software
  • SANE scanning software
  • fprint fingerprint reading software
  • libgphoto2 camera access software (powering Google Picasa, GIMP, DigiKam, Shotwell and others)
  • ..

For a more complete list please check the list of software using libusb.


libusb can be used from these programming languages:

Language Details
Ada Libusb 0.1 bindings for Ada
C(/C++) Provided by the libusb library itself
C# libusbdotnet for C#, DotNet and Mono
Common Lisp Common Lisp bindings to libusb-0.1
Factor Factor libusb-1.0 binding
Go Go libusb-1.0 wrapper
Haskell Low level, high level
Java Java libusb(-0.1)/libusb-win32 wrapper
Java Java libusb-1.0 bindings
Lua lua libusb-1.0 binding
node.js node.js libusb-1.0 binding
OCaml OCaml libusb-1.0 binding
Perl Perl bindings for libusb-0.1
Python pyusb for Python
Python partial python wrapper using swig
Python python-libusb1 pure-python wrapper. Supports asynchronous API, all transfer types, all platforms supported by libusb-1.0 + FreeBSD
Ruby Ruby bindings for libusb-0.1
Ruby Ruby bindings for libusb-1.0
  • usbutils includes the very useful lsusb program to view descriptors in devices

License of the Wiki Content

Creative Commons CC BY-SA 3.0