A free and open-source file transfer tool that harnesses the power of cutting-edge peer-to-peer networking, letting you transfer files directly without storing them on cloud servers.
Why rely on WeTransfer, Dropbox, or Google Drive when you can reliably and easily transfer files directly, end-to-end encrypted and without revealing any personal information?
- Send anywhere, from anything - Desktop, Android, terminal, or browser - start on one platform, receive on any other.
- Transfer anything, any size - Files or entire directories, verified end-to-end with BLAKE3 integrity checks.
- Fast enough to matter โ Saturates multi-gigabit connections for lightning-fast transfers.
- Private by default - No accounts, no sign-ups, no tracking, no ads.
- Direct device-to-device transfer - Files move directly between your devices, avoiding corporate cloud storage where data is the price.
- End-to-end encryption, always on - Every transfer uses QUIC with TLS 1.3; relays only see encrypted traffic even if they are involved.
- Cryptographic authentication - Every ticket verifies you're connected to the intended sender before any files transfer.
- Resumable & broadcastable - Interrupted transfers resume automatically; share the same file with any number of peers at once.
- Preview before you commit - See what you're receiving before you download it.
- Featherlight - Tiny installs, minimal web footprint.
- Free & open source - No upload costs, no size limits, community-driven.
| Metric | Reported |
|---|---|
| Largest transfer | 452 GB |
| Fastest large transfer | 54 GB @ 123 MB/s (~1 Gbps) |
| High-speed bulk transfer | 328 GB @ 93 MB/s |
| Peak speed measured | 125 MB/s (1 Gbps) |
Transfer throughput depends on your device, network, and connection path.
The easiest way to get started is by downloading one of the following versions for your respective operating system:
| Platform | Recommended | Other formats | Size |
| ๐ป Windows (x64) | Setup.exe | MSI | ~10 MB |
| ๐ป macOS (Universal) | AltSendme.dmg | Apple Silicon, Intel | ~15 MB |
| ๐ป Linux (amd64) | AltSendme.deb | .rpm, AppImage | ~13 MB |
| ๐ฑ Android (arm64) | AltSendme.apk | armv7, universal | ~50 MB |
| โจ๏ธ CLI | Downloads | - | ~4โ5 MB |
| ๐ Web (Limited throughput) | app.altsendme.com | - | ~2 MB |
More options at GitHub Releases or in Downloads page.
We're looking for Partners to join our mission! Partner with us and support while we push the boundaries of peer-to-peer file transfer.
๐บ๐ธ ๐ท๐บ ๐ซ๐ท ๐จ๐ณ ๐ฉ๐ช ๐ฏ๐ต ๐ฎ๐ณ ๐น๐ญ ๐ฎ๐น ๐จ๐ฟ ๐ช๐ธ ๐ง๐ท ๐ธ๐ฆ ๐ฎ๐ท ๐ฐ๐ท ๐ต๐ฑ ๐บ๐ฆ ๐น๐ท ๐ณ๐ด ๐ง๐ฉ ๐ญ๐บ ๐ท๐ธ ๐น๐ผ ๐ฐ๐ญ
- Drop your file or folder - AltSendme creates a one-time share code (called a "ticket").
- ย Share the ticket via chat, email, or text.
- Your friend pastes the ticket in their app, and the transfer begins.
| AltSendme | Blip | LocalSend | Magic Wormhole | PairDrop | |
|---|---|---|---|---|---|
| Networking stack | QUIC via Iroh | Unknown | HTTPS/REST over TCP | encrypted TCP | WebRTC/DTLS (SCTP) |
| Works over the internet | โ | โ | LAN only | โ | โ |
| Saturates gigabit connections | โ | โ | โ (LAN only) | โ | โ (SCTP/browser ceiling) |
| Open source | โ | โ | โ | โ | โ |
| No account required | โ | โ | โ | โ | โ |
| End-to-end encryption | โ | โ | โ | โ | โ |
| Send folders | โ | โ | โ | โ | โ (CLI only, not in browser) |
| Resumable transfers | โ | โ | โ | โ | โ |
| Unlimited file size | โ | โ | โ | โ | Limited by browser memory |
| Platforms | CLI + desktop + mobile + web | Desktop + mobile (no web/CLI) | Desktop + mobile (no web/CLI) | CLI only | Web/PWA + Android app + CLI |
| The catch | WIP | Closed source; data handling cannot be audited | Same-network only, no resume | CLI-only; GUI front-ends are separate, community-maintained | WebRTC/SCTP throughput ceiling; browser memory limits |
AltSendme uses Iroh under the hood to enable peer-to-peer file transfer. It is a modern modular alternative to technologies like WebRTC and libp2p.
- Blobs
- Tickets
- Peer Discovery, Hole-punching & NAT traversal
- QUIC & End-to-end encryption
- Relays
Content-addressed blob storage and transfer. iroh-blobs implements request/response and streaming transfers of arbitrary-sized byte blobs, using BLAKE3-verified streams and content-addressed links.
- Blob: an opaque sequence of bytes (no embedded metadata).
- Link: a 32-byte BLAKE3 hash that identifies a blob.
- HashSeq: a blob that contains a sequence of links (useful for chunking/trees).
- Provider / Requester: provider serves data; requester fetches it. An endpoint can be both.
Tickets are a way to share dialing information between iroh endpoints. They're a single token that contains everything needed to connect to another endpoint, or to fetch a blob in this case. Contains Ed25519 NodeIds: Your device's cryptographic identity for authentication.They're also very powerful. It's worth pointing out this setup is considerably better than full peer-2-peer systems, which broadcast your IP to peers. Instead in iroh, tickets are used to form a "cozy network" between peers you explicitly want to connect with. It's possible to go "full p2p" & configure your app to broadcast dialing details, but tickets represent a better middle-ground default.
Peers register with an open-source public relay servers at startup to help traverse firewalls and NATs, enabling connection setup. Once connected, Iroh uses QUIC hole punching to try and establish a direct peer-to-peer connection, bypassing the relay. If direct connection is possible, communication happens directly between peers with end-to-end encryption; otherwise, the relay operates only temporarily as a fallback. This enables smooth reliable connections between peers within local-network and across the internet.
QUIC is a modern transport protocol built on UDP, designed to reduce latency and improve web performance over TCP. Developed originally by Google and now standardized by the IETF as HTTP/3's foundation, it integrates TLS 1.3 encryption directly into the protocol.
QUIC allows following super-powers:
- encryption & authentication
- stream multiplexing
- no head-of-line blocking issues
- stream priorities
- one shared congestion controller
- an encrypted, unreliable datagram transport
- zero round trip time connection establishment if you've connected to another endpoint before
AltSendme uses open-source public relay servers to support establishing direct connections, to speed up initial connection times, and to provide a fallback should direct connections between two endpoints fail or be impossible otherwise. All connections are end-to-end encrypted. The relay is โjust another UDP socketโ for sending encrypted packets around. Read more.
For how to run your own iroh relay, configure AltSendme to use it, and how mixed public/self-hosted setups behave, see deploy/relay/README.md.
See CONTRIBUTING.md for prerequisites, local setup, build instructions, and testing.
Join our Discord to contribute
The best way to contribute is to join our Discord and say hi. Introduce yourself and share what skills or interests you have - whether thatโs coding, testing, design, or something else. You can also raise issues, suggest fixes, or pitch ideas. Maintainers are there to guide you every step of the way.
Itโs the best place to get context, align on direction, and collaborate with the community.
AGPL-3.0
See PRIVACY.md for information about how AltSendme handles your data and privacy.
Reach me here for suggestions, feedback or media related communication.
Thank you for checking out this project! If you find it useful, consider giving it a star and helping spread the word.

