# PikaTorrent: a Flutter torrent client that streams while it downloads

> PikaTorrent is a cross-platform BitTorrent client written in Dart with Flutter, distributed through app stores and as archives for five platforms, whose defining feature is streaming media directly from the swarm instead of waiting for a download to finish.

**G-Ray/pikatorrent** — Pick a Torrent, stream and download on all your devices

- Repository: https://github.com/G-Ray/pikatorrent
- Website: https://www.pikatorrent.com
- Stars: 1,026 · Forks: 54
- Language: Dart
- License: GPL-3.0
- Published: 2026-10-19 · Updated: 2026-10-19 · Language: en
- Canonical page: https://hysenlabs.com/projects/g-ray-pikatorrent

## A torrent client built around streaming, not downloading

PikaTorrent's pitch is one line: just pick a torrent, stream and download on all your devices. The streaming part is the differentiator, and the project compares it to WebTorrent on the desktop, with the same thing available on Android and iOS.

The framing of why a new client exists at all is worth quoting, because it says something about the category. In 2025, torrent clients should not be reserved for advanced users. The claim is that PikaTorrent is a next-generation client offering a beautiful, lightweight and cross-platform app that you can install on all your devices.

Whether that adjective choice is persuasive is beside the point for an engineering assessment. The structural facts are these. The primary language is Dart, the project is built on Flutter, and the repository layout supports that: an app directory, an assets directory, a docs directory, a screenshots directory, a www directory, and a .gitmodules file.

The client is a BitTorrent client. The topics list carries bittorrent, p2p, torrent, torrent-client and transmission, and the transmission entry is explained further down by the migration paths, which copy directories named transmission.

The project is licensed GPL-3.0, with a LICENSE file at the root, and the last push to the repository was on 2026-08-21. The release history is v0.15.0 from 2026-01-11, v0.14.0 from 2025-07-30 and v0.13.0 from 2025-05-14, so the version is still in the zero series and the project is explicit that the releases are currently considered beta, with features possibly changing and things possibly breaking.

## Five platform targets, and why app stores are recommended

The installation advice is specific, and it explains itself: to receive updates automatically and ensure the app handles shared links correctly, installation through app stores is recommended.

The distribution matrix covers more platforms than most open source torrent clients:

| Windows | Linux | MacOS | Android | iOS |
| ------- | ----- | ----- | ------- | --- |
| Microsoft Store | Flathub | .dmg | Play Store | - |
| .zip | .zip | .zip | .apk | .ipa (experimental) |

So Windows has a Microsoft Store listing and a .zip archive, Linux has Flathub and a .zip, macOS has a .dmg and a .zip, Android has the Play Store and an .apk, and iOS has an experimental .ipa but no store listing.

The Linux archive build has a dependency that the documentation calls out. The .zip for Linux needs mpv to be installed on your OS, and other dependencies might be required. The Flathub route sidesteps that, which is the practical reason to prefer it if your distribution is on Flathub.

The reason the project steers you to the stores is worth taking seriously rather than as marketing. Shared links are the main way a torrent client gets used, and a link opened in a desktop app has to hand off to the client correctly, including protocol registration. A store install registers the app as a link handler in the way the platform expects. An archive you unpack and run once does not, which is the concrete difference the documentation is pointing at.

The iOS situation is the outlier. There is no App Store entry, and the .ipa is labelled experimental, so on iOS you are installing a build that the project itself marks as experimental.

## The v0.10.0 rewrite broke continuity, and there is a manual migration

The most consequential fact for an existing user is the v0.10.0 rewrite. PikaTorrent was rewritten from scratch for v0.10.0, and if you already used a previous release, upgrading to v0.10.0 will most likely not display your previous torrents.

That is an unusual thing for a README to say plainly, and it is the kind of thing that would otherwise be discovered after the fact. The migration is documented and it is a file copy, not an import button.

On Windows you copy %APPDATA%\pikatorrent\Config\transmission to %APPDATA%\pikatorrent\com.pikatorrent\PikaTorrent. On Linux you copy ~/.config/pikatorrent/transmission to ~/.local/share/pikatorrent/transmission. After that, the documentation says it is probably safe to remove the old folders, so on Windows %APPDATA%\pikatorrent and on Linux ~/.config/pikatorrent.

The path names tell you two things about the storage layout. The torrent list lives in a directory named transmission, and the new location differs from the old one because the rewrite changed where per-user application data lives on both platforms.

The reason to read this section carefully is that a rewrite is a good moment for a client to change how it stores metadata. Copying the old directory is the bridge. Removing it is optional and deferred, so if the copy does not go as expected you still have the original, which is the right order of operations for anything involving a user's download list.

Note also the sequence of the releases relative to the rewrite. v0.13.0, v0.14.0 and v0.15.0 all postdate v0.10.0, so the current line is the rewritten one, and the migration instructions apply to anyone coming from a pre-rewrite install.

## Translations are coordinated on Weblate, and development is documented separately

The project handles localisation through Weblate, with a translation progress badge in the README and a hosted Weblate project. The invitation is explicit: if you would like to contribute to translations into other languages, visit the Weblate project. Translation for a client like this is more than cosmetic, because the string set includes the torrent list, the settings and the error messages, and a half-translated client is a confusing one.

Using Weblate rather than editing locale files in the repository means translators work in a tool designed for the job, with context, suggestions and a review queue, and it keeps the translation files out of individual contributors' forks.

Development is documented in a separate file, docs/development.md, which the README points to rather than duplicating. The repository has a docs directory, so that is where the build and setup instructions live. There is also a .gitmodules file, so parts of the build are pulled in as git submodules rather than vendored.

The screenshots in the README show both desktop and mobile in light and dark mode, which is a small but relevant detail for a client that claims the same interface across devices. A cross-platform app that only looked good on one platform would be a different product, and the dark mode pair suggests the theming is applied consistently rather than only on desktop.

The Discord community is linked from the top of the README, and the project asks that bugs and feature requests go through issues, which is a reasonable arrangement for a project of this size and cadence.

## What this project is still working out

The first limitation is stated by the project itself. The releases are currently considered beta, features might change and things could break. For a client whose job is to keep a long-running download alive, that is a real operational caveat rather than a formality, and it should factor into whether you point a long seeding session at it.

The second limitation is the dependency on mpv for the Linux archive build, plus the note that other dependencies might be required. That is the shape of a Flutter desktop application that renders video through an external player rather than embedding one, and it means a portable install is not entirely portable.

The third limitation is the iOS situation. The .ipa is marked experimental and there is no store listing, so the platform most associated with the mobile use case in the project's own description is the least supported in practice.

The fourth is the absence of a long-term data guarantee. The v0.10.0 rewrite is proof that the storage format can change under you, and while the current line has been stable across v0.13 to v0.15, a project in the zero version series with beta releases is telling you it does not consider the format frozen.

On maintenance, the repository is not archived and the last push was on 2026-08-21, with the most recent release v0.15.0 from 2026-01-11. The gap between the last release and the last push is a few months, which is a reasonable pace for a desktop and mobile client and consistent with the beta label.

## Conclusion

PikaTorrent fits someone who wants a torrent client that behaves like a media player, with the same interface on a desktop and on a phone, and who is willing to use a project whose releases are labelled beta. It is a poor fit if you rely on the long-lived torrent list of an older install, because the v0.10.0 rewrite dropped previous torrents and the migration is a manual file copy, and it is a poor fit for the Linux archive build if you would rather not install mpv yourself. Before adopting, read the migration notes if you are coming from an earlier PikaTorrent install, install through the app stores if you want automatic updates and correct handling of shared links, and check the release page for the iOS build, which is marked experimental.

## FAQ

### What is PikaTorrent and what makes it different from other torrent clients?

PikaTorrent is a cross-platform BitTorrent client written in Dart with Flutter, and its distinguishing feature is that it streams media while it downloads, in the way WebTorrent does on the desktop, with the same capability on Android and iOS. The project argues that torrent clients in 2025 should not be reserved for advanced users.

### How do I install PikaTorrent on Linux?

The recommended route is the Flathub listing, com.pikatorrent.PikaTorrent. A .zip archive is also published in the releases, but that build needs mpv installed on your operating system and may need other dependencies.

### How do I migrate my torrents after the v0.10.0 rewrite?

PikaTorrent was rewritten from scratch for v0.10.0, so previous torrents may not appear. On Windows copy %APPDATA%\pikatorrent\Config\transmission to %APPDATA%\pikatorrent\com.pikatorrent\PikaTorrent, and on Linux copy ~/.config/pikatorrent/transmission to ~/.local/share/pikatorrent/transmission. Only remove the old folders once the copy has worked.

### Is PikaTorrent available on iOS?

There is an .ipa build in the releases, but it is marked experimental and there is no App Store listing, unlike the Windows, Linux, macOS and Android builds which all have store or Flathub distribution.

### How do I contribute translations to PikaTorrent?

Translations are managed on Weblate through the hosted pikatorrent project, and the README invites contributions in other languages there rather than through the repository.

## Sources

- [G-Ray/pikatorrent on GitHub](https://github.com/G-Ray/pikatorrent)
- [License: GPL-3.0](https://github.com/G-Ray/pikatorrent/blob/main/LICENSE)
- [Project website](https://www.pikatorrent.com)
- [README](https://github.com/G-Ray/pikatorrent/blob/main/README.md)
- [Releases](https://github.com/G-Ray/pikatorrent/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/g-ray-pikatorrent
