File sharing for people
A WeTransfer alternative that keeps the file in your own bucket
Someone has a file, someone else needs it, and neither wants to set anything up. Both hand over a short thing, a link or a code, that expires.
What WeTransfer is
In its own terms.
A hosted file-sharing service: upload in the browser, get a link, email it. The free tier has a size limit and an expiry, and paid plans raise the limit, add password protection and keep files longer. It is a product for people, polished and familiar.
Side by side
Where they part ways.
| s3nd | WeTransfer | |
|---|---|---|
| What it is | A CLI, a library and React hooks over your own S3 bucket | Hosted file sharing by link |
| Where the data lives | Your bucket: S3, R2, MinIO, Scaleway, Wasabi | WeTransfer’s servers |
| Both ends online at once | No. The code is redeemed later, until it expires | No |
| From inside your web app | Yes, through one route on your server | Their web app, not yours |
| Accounts | None. The code is the whole handshake | Optional on the free tier, required on paid plans |
| Hosting | Your bucket, plus your server when a browser takes part | Hosted only |
| Price | Free. You pay your storage provider for a few objects that expire | Free tier, paid plans |
| License | MIT | Proprietary |
The differences
What actually changes.
Their servers versus your bucket
A WeTransfer upload lives on WeTransfer’s infrastructure under their terms. An s3nd transfer lives in your bucket, under your retention rule, and nowhere else.
A product versus a primitive
WeTransfer is a web page. s3nd is a command you can put in a script or a CI job, a route you can mount in your API, and hooks you can put in your React app.
A link versus a code
A link is pasted; a code is read out loud or typed off another screen. Both work; s3nd’s codes are built to survive being misread, with the confusable letters removed and repaired.
No interface
s3nd ships no upload page. If the recipient is a non-technical person clicking an email, WeTransfer is the better experience, and the honest answer.
The decision
Pick the one that fits.
Pick WeTransfer when
- Sending to someone who will click a link in an email.
- No infrastructure at all, not even a bucket.
- A polished upload and download experience is the point.
Pick s3nd when
- The data should never leave your storage provider.
- The transfer is automated: a script, a workflow, an app.
- What moves is an app’s state, not a file for a person.
More comparisons
Tool by tool.
Put a file. Hand over the code.
Point it at the bucket you already pay for. Nothing to deploy, nothing to sign up for, nothing in the middle.
npm install -g @s3nd/clis3nd init --provider r2 --bucket drops3nd put ./anything.zip