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.
An interface you deploy yourself
s3nd ships no hosted upload page, but the drop template is one: a Next.js app with a drop zone and a pickup page, deployed to Vercel in one click on top of your bucket. If the recipient is a non-technical person clicking an email, WeTransfer is still the more polished 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.