# s3nd vs WeTransfer

> A WeTransfer alternative that keeps the file in your own bucket. What WeTransfer is, where the two overlap, where they differ, and when to pick each.

Canonical: https://www.s3nd.sh/alternatives/wetransfer · Markdown: https://www.s3nd.sh/alternatives/wetransfer.md · Français: https://www.s3nd.sh/fr/alternatives/wetransfer

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
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.

Website: https://wetransfer.com

## 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 |

## 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.

## 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.
