JSTorrent

The torrent client that runs on any device

One engine, every platform. Fast, free, and open source.

Download

About JSTorrent

JSTorrent is a BitTorrent client that downloads torrent files with ease. It runs as a standalone desktop app on Windows, Mac, and Linux, as a native Android app, and as a Chrome extension paired with a companion app on ChromeOS. It also works on ChromeOS Flex, Android phones, and in any Chromium-based browser. See all supported platforms →

Originally built for ChromeOS over 10 years ago, JSTorrent has been rebuilt from the ground up as a multi-platform, open source project.

4.4 (3,800+ ratings) on Chrome Web Store

What users say

"It works great, it's easy to use."
"Essential app"
"Greatest app ever, it easily doubles the functionality of my chromebook. I don't remember it cost any money when i got it, but i would definitely pay for it. Just as good/better than a full desktop torrent client!"
"I know not everyone has a chromebook and it is nice to be able to find a program that simply works, THANK YOU."

Recent Changes

Extension v1.0.5 February 25, 2026

  • Batch file deletion for faster torrent data removal
  • Loading state in confirmation dialog during torrent data removal
  • Profile removal in Settings > Profiles tab
  • Engine state, usage metrics, and daemon uptime in bug reports
  • Periodic desktop version refresh from rpc-info.json
  • Torrent data deletion skipping multi-file torrents
  • Torrent data deletion checking wrong root directory
  • System bridge showing Ready when no usable download location exists
  • UDP hostname resolution failing on IPv4-bound sockets
  • Duplicate update dialogs in Tauri app
  • UPnP status display
  • Desktop app update verification timeout
  • Stop torrent network immediately on removal (faster cleanup)
  • Simplified desktop version reporting and update UX
  • Minimum backend versions: Tauri App v0.1.28, Android v1.0.22
  • Refactored daemon bridge into smaller, testable modules

Android v1.0.22 February 25, 2026

  • In-app language picker with 18 tier 1 translations
  • Manual theme setting (light/dark/system) in Advanced Settings
  • Batch delete for faster torrent data removal
  • SAF: fix `exists()` for directories, duplicate directory race condition, harden dir creation and cache validation
  • Fix `removeTorrentWithData` skipping multi-file deletion and checking wrong root dir
  • Fix per-app language selector not applying locale changes
  • Fix JNI callbacks aborting on OOM (now throws JS exception)
  • Fix deprecated edge-to-edge APIs for Play Store compliance
  • Fix UPnP status display
  • Engine: add TTL for cached failed file opens
  • Stop torrent network immediately on removal
  • Move all hardcoded English strings to strings.xml for localization

Desktop App v0.1.28 February 25, 2026

  • Add batchDelete endpoint to io-daemon for faster torrent data removal
  • Stop torrent network immediately on removal
  • Add loading state to confirm dialog during torrent data removal
  • Add engine state, usage metrics, and daemon uptime to bug reports
  • Add check-for-update ID and reason headers to update checks
  • Add TTL for cached failed file opens
  • Fix Windows taskbar icon appearing as blank page
  • Fix removeTorrentWithData skipping multi-file deletion
  • Fix removeTorrentWithData checking wrong directory for torrent root
  • Fix system bridge showing Ready when no usable download location
  • Fix duplicate update dialogs
  • Clear tray speed stats when window closes without background mode

Android v1.0.21 February 23, 2026

  • Fix .torrent file opening crash (TransactionTooLargeException) by writing torrent bytes to temp file instead of passing base64 via intent extra
  • Fix activity flags: remove FLAG_ACTIVITY_CLEAR_TASK to avoid destroying running activity, add FLAG_GRANT_READ_URI_PERMISSION for content:// URIs
  • Show proper filenames from content providers instead of opaque document IDs
  • Instant pending torrent placeholder while engine starts (for both .torrent files and magnet links)

Desktop App v0.1.27 February 23, 2026

  • Fix Windows build: update icon path after legacy installer removal
  • Fix UPnP status display

Desktop App v0.1.26 February 23, 2026

  • Simplify desktop version reporting and improve update UX
  • Add profile removal to Settings > Profiles tab
  • Fix desktop app update verification timeout
  • Remove legacy System Bridge installers and link-handler scripts
  • Refactor daemon bridge into smaller modules with characterization tests

Android v1.0.20 February 22, 2026

  • Fix UDP hostname resolution failing on IPv4-bound sockets

Desktop App v0.1.25 February 22, 2026

  • Fix UDP hostname resolution failing on IPv4-bound sockets
  • Periodically refresh desktopVersion from rpc-info.json

Extension v1.0.4 February 16, 2026

  • Minimum backend versions: Tauri App v0.1.24, Android v1.0.18

Extension v1.0.3 February 16, 2026

  • Context menu options on extension icon: open as tab, popup, or desktop app
  • Batch piece hash verification (verifyChunks API)
  • Recursive file listing (listTree) for faster resume and recheck

Help / FAQ

Bug reports and feature requests are welcome on the JSTorrent GitHub page.

What platforms are supported?

JSTorrent runs on Windows, Mac, Linux, ChromeOS, and Android.

  • Desktop (Windows/Mac/Linux): Install the standalone desktop app, or use the Chrome extension paired with the desktop app.
  • ChromeOS: Install the Android app from the Play Store, or use the Chrome extension paired with the Android companion app.
  • Android: Install the Android app from the Play Store. It works as a standalone torrent client.
Do I need the Chrome extension?

No. The desktop app and Android app both work standalone without the extension. The extension is optional and provides browser integration (intercepting magnet links, right-click to add torrents, etc.).

How do I add a torrent?

Find a torrent file or magnet link on the web, then either:

  • Click a magnet link (JSTorrent will handle it automatically)
  • Download a .torrent file and open it with JSTorrent
  • Paste a magnet link or torrent URL into the app
Where do the files download to?

On desktop, files download to your configured download folder (defaults to your Downloads directory). On Android, you choose a storage location when you first add a torrent.

My torrent isn't downloading!

Check that you have peers available for the torrent. Some torrents have very few seeders and may be slow or unavailable.

If you still have issues, please report them on the GitHub issue tracker.

Does this work with private trackers?

Yes. Download the .torrent file from your tracker's website first, then load it into JSTorrent. Many trackers employ a whitelist for allowed clients. Contact your tracker's administrators if JSTorrent is not whitelisted.

How does ChromeOS work?

On ChromeOS, you can use the Android app from the Play Store as a standalone torrent client — no extension needed.

Alternatively, install the Chrome extension alongside the Android companion app. The extension provides the UI, while the Android app handles file I/O and networking. A one-time pairing step connects them, and after that the extension automatically connects whenever you open it.

Links