Author: Arvid Norberg,
Version: 1.1.1


libtorrent is a feature complete C++ bittorrent implementation focusing on efficiency and scalability. It runs on embedded devices as well as desktops. It boasts a well documented library interface that is easy to use. It comes with a simple bittorrent client demonstrating the use of the library.

The main goals of libtorrent are:

  • to be cpu efficient
  • to be memory efficient
  • to be very easy to use

Getting started

The tutorial is an introduction to using libtorrent (C++). Also see the reference documentation.


If your organization use libtorrent, please consider supporting its development. See the contribute page for other ways to help out.


Please direct questions to the mailing list, general libtorrent discussion.

You can usually find me as hydri in #libtorrent on


libtorrent is released under the BSD-license.

This means that you can use the library in your project without having to release its source code. The only requirement is that you give credit to the author of the library by including the libtorrent license in your software or documentation.

It is however greatly appreciated if additional features are contributed back to the open source project. Patches can be emailed to the mailing list or posted to the bug tracker.


Written by Arvid Norberg. Copyright © 2003-2016

Contributions by Steven Siloti, Magnus Jonsson, Daniel Wallin and Cory Nelson

Thanks to Reimond Retz for bugfixes, suggestions and testing

Thanks to Umeå University for providing development and test hardware.

Project is hosted by github.