transfer.sh Alternative: 5 Tools That Still Work (2026)

April 19, 2026 · 8 min read

For years, curl --upload-file hello.txt https://transfer.sh/hello.txt was the fastest way to share a file with a teammate. No account, no widget, no SDK. Just cURL and a URL.

Since mid-2022, the public transfer.sh service has been unreliable and, for long stretches, down. The maintainer has been transparent about the cost and abuse problems that led to the shutdown. There are self-hosted forks on GitHub that still work, but running your own file host just to share a screenshot with a Slack channel is not what most developers want.

This guide covers five alternatives that preserve the one-line cURL experience, with notes on which one fits depending on whether you need persistence, an API, or fully anonymous uploads.

What Made transfer.sh Great, and What to Look For

If you loved transfer.sh, you were relying on at least three things:

Different alternatives emphasize different parts of that list. Pick the one that matches your actual job.

Quick Comparison Table

Feature FilePost file.io 0x0.st catbox.moe pixeldrain
cURL upload in one line Yes Yes Yes Yes Yes
Free tier Yes (300/mo) Yes Yes (anonymous) Yes (anonymous) Yes
Permanent URLs Yes No (default 1 download) 30 to 365 days (size-based) Yes (not guaranteed) Yes
Management API Yes Limited No Partial (account-based) Yes (with account)
Max file size 50 MB free / 500 MB paid 100 MB free 512 MB 200 MB 20 GB
Dedicated CDN Yes No No No Yes
Starting paid price 9 USD/mo Varies Free only Donation-based Around 4 EUR/mo

1. FilePost: Best for Persistent cURL Uploads with a Real API

FilePost keeps the cURL-first feel of transfer.sh but adds persistence, a CDN, and a management API. You sign up once, get an API key, and your uploads land on permanent CDN URLs.

Why Choose FilePost

Upload a File (One Line)

curl -X POST https://filepost.dev/v1/upload \
  -H "X-API-Key: your_api_key" \
  -F "file=@build.tar.gz"

Response:

{
  "url": "https://cdn.filepost.dev/file/filepost/uploads/a1/a1b2c3.tar.gz",
  "file_id": "a1b2c3d4e5f6",
  "size": 4823104
}

transfer.sh Muscle Memory, Adapted

If you had a shell function for transfer.sh, the port is a couple of lines:

# Before: transfer.sh
transfer() {
  curl --progress-bar --upload-file "$1" "https://transfer.sh/$(basename "$1")"
}

# After: FilePost (extract the URL from the JSON response)
upload() {
  curl -s -X POST https://filepost.dev/v1/upload \
    -H "X-API-Key: $FILEPOST_KEY" \
    -F "file=@$1" | jq -r .url
}

Add export FILEPOST_KEY=fh_... to your shell rc file and you are back to one-command sharing.

Try FilePost Free

300 uploads per month, 50MB max file size, full API access. No credit card required.

Get Your Free API Key

2. file.io: Closest to transfer.sh's Default (Auto-Delete)

file.io is the most direct spiritual successor to transfer.sh's "files go away" default. Uploads auto-delete after the first download or at the end of a set retention period.

Pros

Cons

Best for: Quick one-off transfers where you explicitly want the file to go away. See our file.io alternative comparison for when to pick something else.

3. 0x0.st: Best for Fully Anonymous cURL Uploads

0x0.st (The Null Pointer) is a minimalist anonymous file host. No accounts, no signup, just cURL. It is operated as a hobby service, which makes it a fine fit for informal sharing and a bad fit for anything production-critical.

Upload Example

curl -F 'file=@hello.txt' https://0x0.st

Pros

Cons

Best for: One-off text snippets and small files you want to share publicly and anonymously. Not a production choice.

4. catbox.moe: Anonymous Permanent Hosting

catbox.moe is another minimalist anonymous file host, focused on persistent (not time-limited) uploads. Popular among hobby communities for image and small-file sharing.

Upload Example

curl -F "reqtype=fileupload" \
     -F "fileToUpload=@image.png" \
     https://catbox.moe/user/api.php

Pros

Cons

Best for: Hobby projects and community use, not business applications.

5. pixeldrain: Best for Large Files with an Account

pixeldrain supports files up to 20 GB per upload and has a clean web UI plus a REST API. With an account you get a real management layer.

Upload Example

curl -T image.png -u :YOUR_API_KEY \
     https://pixeldrain.com/api/file/image.png

Pros

Cons

Best for: Large media files you want to share publicly, with an API.

How to Choose the Right transfer.sh Alternative

Self-Hosting transfer.sh

The transfer.sh source code is on GitHub and you can still run it on your own server or S3 bucket. This makes sense if you have internal file sharing needs and do not want the files to leave your infrastructure. It does not make sense if your goal is "a quick share link" because the operational cost of running a file host dwarfs the cost of just using a hosted service.

If you go self-hosted, expect to handle abuse reports, storage growth, and CDN caching yourself. Most developers who try it drop the plan within a month and move to a hosted service instead.

Conclusion

transfer.sh was a great tool. Its decline is a loss for the cURL-first file-sharing workflow, but the replacements are good. For most developers who want persistent links, a real API, and a CDN behind the URL, FilePost is the closest modern successor. For one-off anonymous drops, 0x0.st and catbox.moe keep the minimalist spirit alive.

Get a free API key and your cURL workflow is back online in under a minute.