unsubbed.co

Transfer.zip

Transfer.zip is a self-hosted file sharing & upload tool that provides complete file sharing solution.

Self-hostable file sharing, honestly reviewed. Two very different products live inside this one repo — make sure you’re picking the right one.

TL;DR

  • What it is: Open-source (AGPL-3.0) file-sharing platform with two distinct modes: Quick Transfers (WebRTC peer-to-peer, E2E encrypted, no size limit, free forever) and Stored Transfers (server-hosted, resumable, expiry-based) [1].
  • Who it’s for: Individuals and small teams paying WeTransfer or Smash for large file sharing, who want either a permanent free option (Quick Transfers, if both parties can be online simultaneously) or a cheaper stored-transfer SaaS alternative [2].
  • Cost savings: WeTransfer Pro runs approximately $12/month for 200GB transfers with 1-year link expiry. Transfer.zip Starter is $9/month for 200GB at 14-day expiry; Pro is $19/month for 1TB at 365-day expiry. Self-hosted costs only VPS fees. Quick Transfers cost nothing at all — no server stores the file [2][3].
  • Key strength: The Quick Transfers mode is genuinely novel — unlimited file size, end-to-end encrypted, no server storage, free forever with no account required. No other self-hosted tool does this cleanly in a browser-native UI [1].
  • Key weakness: Quick Transfers require both sender and recipient to be online simultaneously. The self-hosted branch lags the production branch in features. Documented bugs on Firefox mobile and Safari [1].

What is Transfer.zip

Transfer.zip is a file-sharing platform positioned as a direct alternative to WeTransfer and Smash. It is open-source under AGPL-3.0, with 1,462 GitHub stars, built and run by Robin Karlberg — an independent founder who describes it as “an independent service without shareholders to appease.” That positioning extends to explicit privacy commitments: no AI training on uploaded content, no data selling, no advertiser relationships [2].

The name is simple, the interface is simple, and the pitch is simple. But what’s non-obvious from the homepage is that Transfer.zip is actually two quite different products sharing a codebase [1]:

Quick Transfers use WebRTC for peer-to-peer data transfer directly between browsers. Files stream from one user’s machine to the other’s — Transfer.zip’s servers are never involved in storing the data. AES-GCM 256-bit encryption is applied client-side, with the key embedded in the share link. No account required, no file size limit, no bandwidth cap, free forever. The fundamental constraint: both sender and recipient must have their browser tabs open simultaneously [1].

Stored Transfers work like WeTransfer — you upload to a server (your own or Transfer.zip’s cloud), the file stays there until the expiry date, and the recipient downloads at their convenience. Uploads use the tus protocol for resumable, chunked transfers that survive network interruptions. This mode requires either a paid Transfer.zip cloud account or a self-hosted server with storage [1][2].

These modes complement each other, but solve different problems. Quick Transfers are for right now, when both parties are at their computers. Stored Transfers are for async workflows where the recipient downloads later.


Why people choose it

User feedback on the homepage, while self-curated, illustrates the actual use case with unusual specificity: “After spending hours browsing for a simple way to send a 23 GB file, this is the answer.” Another: “Love how simple and no-BS Transfer.zip is.” [2]

The reasons people reach for it:

WeTransfer’s free tier hits its ceiling fast. WeTransfer Free caps transfers at 2GB. Transfer.zip’s Quick Transfers have no file size limit — zero — because there’s no server to fill up. Need to send a 150GB video export right now? If the recipient is online, Quick Transfers handles it for free [1][2].

The privacy story is verifiable. Robin’s founder message explicitly commits to no AI training, no data selling, no shareholder pressure [2]. WeTransfer faced significant backlash in 2023 over privacy policy changes. Transfer.zip’s open-source code lets you audit the claim directly rather than accepting a terms-of-service promise from a VC-backed company.

Stored transfer pricing undercuts WeTransfer Pro. At $9/month, Transfer.zip Starter is cheaper than WeTransfer Pro (~$12/month) for the same 200GB file size limit — though WeTransfer’s link expiry is 1 year vs. Transfer.zip Starter’s 14 days. If longevity matters, you’re pushed to Transfer.zip Pro at $19/month [3].

Self-hosting removes the dependency entirely. For privacy-conscious teams or anyone who regularly moves large files, self-hosting means you pay only for VPS and storage — no per-transfer fees, no monthly SaaS bill. Quick Transfers in a self-hosted setup cost effectively nothing operationally, since no file ever touches your storage [1].


Features

Quick Transfers:

  • WebRTC peer-to-peer transfer directly between browsers with no server storage of file data [1]
  • AES-GCM 256-bit end-to-end encryption; key is generated client-side and included in the share link [1]
  • No file size limit, no bandwidth cap [1]
  • No account needed — generate a link, share it, recipient opens it [2]
  • QR code generation for easy mobile-to-desktop sharing [1]
  • Fallback relay via the signaling server when direct WebRTC fails due to firewalls; relay is forced for files over 10MB due to WebRTC speed limitations, even when direct connection is technically available [1]

Stored Transfers:

  • Resumable uploads via the tus protocol — a dropped connection at 80% resumes from 80%, not from zero [1]
  • S3-compatible storage backend or local disk storage [1]
  • File expiry with automatic deletion after the configured date [1]
  • Transfer requests — generate a link that lets anyone upload files to you, even without an account on their side [1][2]

Account / paid features:

  • Custom branding: your logo, background, and brand in emails and download pages [1][2]
  • Email delivery to recipients directly from the dashboard [2]
  • Download statistics — track when links are clicked and files downloaded [2]
  • Custom domain (listed as “coming soon” on pricing page) [3]
  • MongoDB for metadata storage [merged profile]

Pricing: SaaS vs self-hosted math

Transfer.zip cloud tiers [3]:

PlanPriceMax transfer sizeLink expiryNotes
Free$0Unlimited (Quick only)Tab closesNo stored files
Starter$9/mo200GB stored14 daysUnlimited transfers
Pro$19/mo1TB stored365 days30 email recipients, custom branding

All paid tiers include unlimited number of transfers — you’re paying for file size ceiling and link longevity, not per-transfer fees [3].

WeTransfer for comparison (public pricing):

  • Free: 2GB per transfer, 7-day link expiry
  • Pro: ~$12/month for 200GB transfers, 1-year link expiry

Concrete math: If you send large files occasionally and async delivery matters, Transfer.zip Starter at $9/month is $3 cheaper than WeTransfer Pro, with the same 200GB ceiling — but WeTransfer’s 1-year expiry significantly beats Transfer.zip Starter’s 14 days. For teams that routinely send files above 200GB, Transfer.zip Pro at $19/month has no real WeTransfer equivalent.

Self-hosted math:

  • Software: $0 (AGPL-3.0)
  • VPS: $5–10/month (Hetzner CX22 or equivalent, 2–4 vCPU, 4GB RAM)
  • Storage: S3-compatible bucket (e.g., Backblaze B2, ~$6/TB/month) or local VPS disk
  • Quick Transfers: $0 operational cost — no files stored, no bandwidth from stored file downloads

For a small team running primarily Quick Transfers with occasional stored transfers under 200GB, self-hosting on a $5–10 VPS eliminates the SaaS bill. Over a year, that’s $108–$228 saved versus the Starter plan.


Deployment reality check

The architecture is split across two separate repositories: transfer.zip-web (Next.js frontend + MongoDB) and transfer.zip-node (Node.js/Fastify file operations). Both need to run together, which adds a step to the self-hosting setup compared to single-repo projects [1].

What you need:

  • Linux VPS, at least 4GB RAM recommended
  • Docker and docker-compose
  • MongoDB (bundled or external)
  • S3-compatible bucket or local disk for Stored Transfers
  • Domain name and reverse proxy (Caddy or nginx) for HTTPS
  • SMTP provider for email-delivery features

What can go sideways:

The README documents three known bugs without patches [1]:

  • 0-byte files get stuck during Quick Transfers
  • Firefox mobile cannot send files via Quick Transfer — the cause is under investigation
  • Safari breaks WebSocket connections when the browser window loses focus — the README describes this with an editorial “Apple…” indicating no easy fix is expected

The main/production branch gap is documented and real. The README states: “The ‘main’ branch is intended for self-hosting. The ‘production’ branch is the code that runs in production. They can differ when we have not ported all functionality yet to the self-hosted version.” [1] Self-hosting means accepting that some features you see on the live site may not be available yet on the branch you’re running.

Realistic time estimate: A technical user following the self-hosting guide: 1–3 hours to a working instance. Someone new to Docker and reverse proxies: a full afternoon, with domain/HTTPS setup as the most common friction point.

Third-party review coverage of Transfer.zip is minimal — the project has limited independent deployment reports compared to more widely-deployed self-hosted tools. Treat any edge cases you encounter as genuinely uncharted.


Pros and cons

Pros

  • Quick Transfers are genuinely free and unlimited. No account, no file size cap, E2E encrypted, no server storage. For same-time transfers, it outperforms WeTransfer’s free tier on every dimension [1][2].
  • Resumable uploads via tus protocol. Large file uploads that drop halfway don’t restart from zero. This matters when you’re sending 100GB+ [1].
  • Transfer requests. Generate a “send me files” link that any recipient can use without an account — useful for freelancers collecting client assets without forcing clients to sign up for anything [1][2].
  • Honest privacy posture backed by open source. Explicit no-AI-training and no-data-selling commitments from an independent founder, verifiable in the codebase rather than trusted on faith [1][2].
  • Custom branding on a reasonable budget. Branded download pages and emails without enterprise pricing — available on the Pro tier at $19/month [2][3].
  • Download statistics. Basic but genuinely useful visibility into when clients actually opened your file [2].
  • Independent founder, no investor pressure. Robin’s stated position — no shareholders, no data monetization — is reflected in the pricing and privacy model [2].

Cons

  • Quick Transfers require both parties online simultaneously. This is a structural constraint, not a fixable bug. Links expire when the sender closes the tab [1].
  • Firefox mobile and Safari have known, unresolved bugs. These aren’t niche browsers — a meaningful fraction of client recipients will be on one or both of these. Test before committing [1].
  • Self-hosted branch lags production. Features available on transfer.zip’s hosted version may not exist in the self-hosted release at any given time [1].
  • AGPL-3.0 license. Stricter than MIT. Self-hosting for internal use is fine. Building a commercial product on top of Transfer.zip requires open-sourcing that product too [1].
  • 14-day link expiry on Starter is short. If async client delivery is your main use case, the 14-day window may not be enough and pushes you to the $19/month Pro tier [3].
  • Small star count (1,462) and minimal third-party coverage. Limited independent deployment reports means edge cases are less documented than with more mature self-hosted alternatives.
  • Split repository architecture. Running both transfer.zip-web and transfer.zip-node adds operational complexity compared to single-container tools [1].

Who should use this / who shouldn’t

Use Transfer.zip if:

  • You regularly need to send files over 2GB and both parties can be online simultaneously — Quick Transfers handles it free, with no size limit, and no account needed [1][2].
  • You’re a freelancer or small agency sending large deliverables to clients and want a branded, professional-looking download page without paying enterprise prices [2][3].
  • Privacy guarantees matter and you want them backed by open-source code rather than a closed-source terms-of-service [1][2].
  • You’re comfortable with Docker deployment and prefer a $5–10/month VPS over recurring SaaS fees.
  • You need a “send me files” request link for collecting client assets [1].

Skip it (stay on WeTransfer) if:

  • Your recipients frequently access links hours or days after receiving them and aren’t available to be online simultaneously — Quick Transfers won’t work, and Stored Transfer’s 14-day Starter expiry may be too short [1][3].
  • A meaningful portion of your senders or recipients are on Firefox mobile or Safari and Quick Transfers reliability matters [1].
  • You genuinely need 1-year link expiry at the $9–12/month price point — WeTransfer Pro beats Transfer.zip Starter here.

Skip it (use Nextcloud or Seafile) if:

  • File transfer is one piece of a larger collaboration need — Nextcloud adds file sync, calendar, contacts, and office integration on the same self-hosted instance.
  • You need granular access controls, user management, or team folders beyond what a transfer tool provides.

Skip it (look at Magic Wormhole) if:

  • You’re technical and want the same “Quick Transfer” concept — ephemeral, peer-to-peer, E2E encrypted — from a command line without any web UI.

Alternatives worth considering

  • WeTransfer — the incumbent this project measures itself against. 2GB free, widely recognized brand that clients trust when they see the link, ~$12/month Pro. Closed source. The benchmark.
  • Smash — similar positioning to WeTransfer, different pricing tiers, some generous free options. Closed source.
  • Nextcloud — self-hosted, far broader scope. File transfer is one feature among many. Heavier to run and configure, but better if you need collaboration beyond sending files.
  • Seafile — self-hosted file sync with strong performance on large files. More file-management focused than transfer-focused; better for ongoing sync than one-time sends.
  • Filen / Proton Drive — if the primary concern is E2E encrypted cloud storage for files you access regularly, not one-time sends. Different use case than Transfer.zip.
  • Magic Wormhole — command-line, ephemeral, peer-to-peer, E2E encrypted file transfer for technical users. No web UI, no stored files, free. The CLI equivalent of Quick Transfers.
  • FileSender — open-source, institutional-grade file transfer (widely used in universities), similar to Stored Transfers but with more mature access controls and audit logs.

For a non-technical founder or freelancer, the practical comparison is Transfer.zip vs WeTransfer Pro. Transfer.zip wins if Quick Transfers cover most of your use case, or if you can self-host. WeTransfer wins if link longevity is critical and $12/month is your ceiling.


Bottom line

Transfer.zip earns its place as a WeTransfer alternative on the strength of one genuinely differentiated feature: Quick Transfers. Unlimited file size, peer-to-peer, E2E encrypted, free, no account — that’s a real value proposition that WeTransfer simply doesn’t offer at any price. For teams that can coordinate on timing, it eliminates the file-sharing bill entirely.

The Stored Transfers mode is competitive but not dominant. The $9/month Starter is cheaper than WeTransfer Pro, but the 14-day link expiry is a real downside for async client workflows. The self-hosting path is viable for technical teams willing to run two repos and accept that the self-hosted branch occasionally lags the production version.

The known bugs on Firefox mobile and Safari are the honest caveat worth stating plainly: if you can’t control what browser your recipients use, test first. The project is maintained by a solo founder with a clear vision and no investor obligations — which is both the appeal and the risk.

If the deployment is the blocker, that’s exactly what unsubbed.co’s parent studio upready.dev handles for clients. One-time setup, you own the infrastructure.


Sources

  1. Transfer.zip GitHub README — robinkarlberg/transfer.zip-web, primary source for architecture, features, and known bugs. https://github.com/robinkarlberg/transfer.zip-web
  2. Transfer.zip Homepage — official website, product descriptions, founder statement, and user quotes. https://transfer.zip
  3. Transfer.zip Pricing Page — official pricing tiers and feature breakdown per plan. https://transfer.zip/#pricing

Features

Media & Files

  • File Attachments

Customization & Branding

  • Custom Branding

Security & Privacy

  • Encryption