# WebTorrent

⚡️ Streaming torrent client for the web

Repository: https://github.com/webtorrent/webtorrent
Canonical: https://ross.abutalabs.com/products/webtorrent
Homepage: https://webtorrent.io
Language: JavaScript
License: MIT
License Family: permissive
Topics: webtorrent, bittorrent, webrtc, javascript, p2p, nodejs, streaming, browser, torrent, hacktoberfest
Last push: 2026-08-26T23:06:05+00:00
Link (homepage): https://webtorrent.io
Link (site_page): https://webtorrent.io/docs
Link (site_page): https://webtorrent.io/faq

## Health v2 (maintenance only)
Score: 98/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 95, longevity 100
- inputs: {"age_days": 4705, "days_push": 7, "days_rel": 37, "gap_med": 0, "n_releases_24m": 60}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 31372, forks 2915 (observed 2026-08-28T04:11:56.752814+00:00)

## What it is
WebTorrent is a streaming BitTorrent client written entirely in JavaScript that runs in Node.js (using TCP/UDP) and in the browser (using WebRTC data channels). The project also ships WebTorrent Desktop and a CLI client, letting users download and stream torrents without waiting for the full download.

## Use cases
- stream torrents in the browser without plugins
- download torrents from the command line
- build peer-assisted content delivery for a website
- seed files to web peers over WebRTC
- stream video from a torrent while it downloads
- share files peer-to-peer between browsers

## When to choose
- you want torrent downloading or seeding inside a web app using only JavaScript
- you need streaming playback of torrent media before the download completes
- you want a lightweight CLI or desktop torrent client
- you are building peer-assisted delivery to reduce bandwidth costs

## When to avoid
- you need browser peers to connect to non-WebRTC BitTorrent clients over TCP/UDP
- you need a native-performance torrent client outside the JavaScript ecosystem
- your use case requires private trackers or clients that do not support the WebTorrent protocol

## Facets
- artifact type: library
- maturity: active
- function: p2p, streaming, http-client, cli
- domain: networking, web-development, media, files, developer-tools
- platform: browser, cli, cross-platform
- tags: bittorrent, webrtc, torrent-client, peer-to-peer, file-sharing, streaming-media, web-peers, nodejs, javascript

## Member repositories
- webtorrent/webtorrent (main) score 98
- webtorrent/webtorrent-desktop (plugin) score 66
- webtorrent/webtorrent-cli (plugin) score 87

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:56.752814+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T16:52:17.803603+00:00, confidence not recorded.
  - readme: https://github.com/webtorrent/webtorrent (fetched 2026-08-28T04:11:56.752814+00:00, sha 110d7abd7753)
  - homepage: https://webtorrent.io (fetched 2026-08-29T07:50:25.897017+00:00, sha bc9de1481dcf)
  - site_page: https://webtorrent.io/docs (fetched 2026-08-29T07:50:25.905822+00:00, sha 28b3bfe003c6)
  - registry_npm: https://registry.npmjs.org/webtorrent-cli (fetched 2026-08-29T07:50:25.911774+00:00, sha dd364d2c4cd9)
  - site_page: https://webtorrent.io/faq (fetched 2026-08-29T07:50:25.909082+00:00, sha cb059616fd40)
- Data as of 2026-08-30T08:39:29.467469+00:00.
