Skip to content
s3nd
Menu

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.

 s3ndWeTransfer
What it isA CLI, a library and React hooks over your own S3 bucketHosted file sharing by link
Where the data livesYour bucket: S3, R2, MinIO, Scaleway, WasabiWeTransfer’s servers
Both ends online at onceNo. The code is redeemed later, until it expiresNo
From inside your web appYes, through one route on your serverTheir web app, not yours
AccountsNone. The code is the whole handshakeOptional on the free tier, required on paid plans
HostingYour bucket, plus your server when a browser takes partHosted only
PriceFree. You pay your storage provider for a few objects that expireFree tier, paid plans
LicenseMITProprietary

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.

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