Awesome Open Source
Awesome Open Source


AppVeyor Join the chat at

A tiny, hackable BitTorrent client written in modern C++. Based on Rasterbar-libtorrent to provide high performance and low memory usage.

Quick facts

  • Supports DHT, PeX, LSD, UPnP.
  • Geo IP lookups based on libmaxminddb.
  • (Azureus-style) peer ID: -PI-. Example: -PI0151- (major: 0, minor: 15, patch: 1).
  • User agent: PicoTorrent/x.y.z.
  • Native look-and-feel across Windows versions.
  • Easy to use with high performance.

The portable version of PicoTorrent requires manual installation of the Visual C++ 2017 redistributable

Building PicoTorrent

To successfully build PicoTorrent, you need the following libraries and applications installed,

  • CMake (>= v3.14).
  • Visual Studio 2019 Build Tools (or regular Visual Studio 2019 with the C++ toolset).
  • OpenSSL v1.1.1 (not the light version) for the architecture you plan on building. Both Win32 and Win64 can be installed side by side.
  • Qt v5.12.3 for the architecture you plan on building. Both Win32 and Win64 is recommended, as well as debug symbols.
  • Chocolatey (Optional) if you plan to build or test the Chocolatey package.

Next, set the CMAKE_PREFIX_PATH environment variable to your Qt prefix path (ie. C:\Qt\5.12.3\msvc2017 or C:\Qt\5.12.3\msvc2017_64).

Make sure all Git submodules are updated, then run .\build.ps1 to start building and packaging PicoTorrent. If you want to build for x86, you can pass the target platform to the script.

PS> .\build.ps1 --platform [x86|x64] --configuration [Debug|Release]


Copyright (c) Viktor Elofsson and contributors. PicoTorrent is provided as-is under the MIT license. For more information see LICENSE.

This product includes GeoLite2 data created by MaxMind, available from

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
c-plus-plus (15,923
bittorrent (88
portable (87

Find Open Source By Browsing 7,000 Topics Across 59 Categories