// JSTORRENT

A fresh start for JSTorrent

10+ years of JSTorrent, rebuilt from the ground up for ChromeOS and desktop.

// Status: In active development

const platforms = ["ChromeOS", "Windows", "Mac", "Linux"];

await rebuild();

FAQ

The Transition

What's happening to JSTorrent?

Google is retiring Chrome Apps. The current version of JSTorrent will stop working in a future Chrome update—Google hasn't given a specific date, just a warning that it's coming. On Windows and Mac, it's already broken.

We're rebuilding JSTorrent from the ground up as a browser extension + companion app. Same core functionality, modern architecture, works everywhere. No "electron" bloat.

Will I lose my downloads?

Your downloaded files are just files on your disk—they're yours. However, torrent session data (active downloads, metadata) won't migrate. You'll start fresh with the new version. If there's something specific you'd like us to consider, let us know in GitHub Discussions.

When will the new version be ready?

We're targeting early 2026 for a simultaneous launch across ChromeOS, Windows, Mac, and Linux.

Before the public launch, we'll do a soft beta with an unlisted extension for early adopters. Join the waitlist to get access.

The New Version

How does it work?

The torrent engine (the "brain") runs entirely in a browser extension. A small companion app handles the low-level networking and file access that browsers can't do directly. They communicate locally on your device—nothing goes through external servers.

The companion app is intentionally minimal and precise. It does exactly three things: sockets, files, and hashing. This tiny surface area makes security easier to guarantee.

Do I need to install two things?

Yes—a browser extension and a companion app. We've made it easy: download the installer and run it. Initially the desktop app will be unsigned, so you may need to click "Run anyway" on Windows or right-click to open on Mac. Code signing is coming.

Will it work on my Chromebook?

If your Chromebook supports Android apps (most made since ~2017), yes. The companion app runs in ChromeOS's Android container. Unfortunately, very old Chromebooks without Android support are out of luck.

What about Windows, Mac, Linux?

All supported from day one. Same extension, platform-specific companion app.

Browser Support

Which browsers are supported?

JSTorrent works on any Chromium-based browser that supports Chrome extensions: Google Chrome, Brave, Microsoft Edge, Opera, Vivaldi, and others.

What about Firefox?

Not currently planned. Firefox uses a different extension API. If there's demand, we'll consider it—let us know in GitHub Discussions.

What about Safari?

Safari doesn't support the extension APIs we need. No plans for Safari support.

What about iOS / iPhone?

Apple's App Store policies forbid BitTorrent clients on iOS. A remote control app is a future possibility, but not a priority.

Features

What works in v1?

  • Adding torrents via magnet links and .torrent files
  • Downloading to a folder you choose
  • Seeding (you're a good citizen of the swarm)
  • Robust, fast downloads—the new TypeScript engine is heavily tested

What's coming later?

  • Choosing which files to download
  • Streaming/playback
  • Private tracker support
  • Search plugins
  • uTP protocol
  • UPnP / NAT hole-punching
  • BitTorrent v2
  • Peer encryption
  • Visualizations and graphs
Tell us what matters to you in Discord or GitHub Discussions.

What's the interface like?

We love the classic torrent client interface and we've kept that familiar layout. But we've also prioritized making everything feel fast. The UI uses a best-in-class virtualized table renderer that can display every packet as it arrives—at 240Hz if you want.

Pricing

Is JSTorrent free?

Yes, it's free. In the future, we may offer optional extras like remote access features or supporter badges—but the core app will remain free.

Trust & Security

Why should I trust JSTorrent?

JSTorrent has been around for over 10 years with a clean track record. The extension comes from the Chrome Web Store (reviewed and signed). The companion app is built from open source code with reproducible builds.

Does JSTorrent phone home?

All torrent traffic goes directly between you and peers—there's no JSTorrent server in the middle. We have opt-in telemetry (crash reports, usage stats) but it's off by default.

Is it open source?

Yes, fully. All components are open source at github.com/kzahel/jstorrent.

Getting Help

Where do I ask questions?

We read everything. Seriously.

I'm having trouble with the old Chrome App.

We're focusing all effort on the new version rather than patching the deprecated Chrome App. The Discord community might help with workarounds.

Early Adopters

How do I get early access?

Join the waitlist above. Before public launch, we'll release an unlisted extension for beta testers.

Is there anything special for early supporters?

We're planning supporter badges and other recognition for people who help test and provide feedback during the beta. Details TBD.

About

Who makes JSTorrent?

Hi, I'm Kyle. I'm a solo developer based in Zurich, Switzerland. About a decade ago, I worked at BitTorrent, Inc. JSTorrent has always been a passion project.

I'm currently looking for work—if you're hiring, say hi: linkedin.com/in/kylegraehl

AI-Assisted Development

Is AI being used to build this?

Yes, extensively—and it's been a game-changer.

JSTorrent is a solo project, and I have two young kids. My coding happens in the gaps: during naptime, after bedtime, sometimes while supervising playground chaos. Traditional "sit down for 4 hours of deep focus" programming doesn't exist for me anymore.

This is where modern AI tooling shines. Agentic workflows let me context-switch from making dinner to reviewing a pull request to debugging a tracker announce. I can sketch out what I want, hand it off, come back later, and iterate. AI is a tool that's powerful in surprising ways—if you set up the right scaffolding.

What can AI actually do here?

An AI could probably build a basic torrent client. What it can't do is design a multi-platform release strategy, define clean protocols with security as a top priority, or hold the complete architecture in its head across months of development. That's my job.

I'm leveraging agentic workflows to give optimal context to my "workers" and creating detailed design plans for them to execute on. The AI is excellent at implementing well-specified functionality within a clear structure. It's not great at deciding what to build, why, or how it all fits together.

TypeScript helps here too—type safety gives the AI guardrails and makes it unusually effective at producing correct code. (The core engine is TypeScript; the operating system glue is Rust on desktop and Kotlin on Android.)

Why is BitTorrent a great fit for AI?

The BitTorrent protocol is decades old, extremely well-documented, and implemented in dozens of open-source clients. AI models have been training on torrent client code for years—they know the internals of peer wire protocol, DHT, and piece selection in their sleep.

We've also set up black-box integration testing against libtorrent. This means I can almost say "okay, make uTP work now" and let the AI iterate against real protocol behavior until tests pass. The feedback loop is tight, the spec is clear, and the AI has seen this problem a thousand times before.

Is this workflow open source too?

Yes. I think it's important to be transparent about the "source behind the source." If you look in docs/tasks/ in the repository, you can see the record of development iteration—the design documents, the plans, the back-and-forth.

In some sense, these design documents are the actual source code. The TypeScript is just the output.