Documentation menu

 

UploadThing Pricing, Free Tier and S3 Costs

The short answer: as of October 2026, UploadThing's free plan gives you 2 GB of storage and paid plans start at $10 a month for 100 GB. With upup you pay nothing for the library and only your storage provider's rates for the bytes. Which is cheaper depends on how much you store and how much your users download, so this page lists the rates and works three volumes through them.

Try it first: the live React demo uploads a real file from your browser, and the React quickstart gets it running against your own bucket.

For the feature-by-feature comparison, see UploadThing vs S3. This page covers money only.

UploadThing plans and prices

These are the plans on uploadthing.com/pricing, checked on 10 October 2026. Prices are in US dollars.

PlanPriceStorageAlso listed
Free$0 a month2 GB, shared across all your appsUnlimited uploads and downloads; 7-day audit-log retention
100 GB$10 a month100 GBRegions, private files; 30-day audit-log retention
Usage basedFrom $25 a month250 GB included, then $0.08 per GB over 250 GBRegions, private files; 30-day audit-log retention

The page does not publish a separate bandwidth or egress rate for the paid plans, an overage rate for the 100 GB plan, or file-count and file-size limits per plan. If any of those matter to you, ask UploadThing before you commit. Plans change, so treat the numbers above as a snapshot.

What "free" really means

The free plan is a real $0 plan, and the pricing page says it includes unlimited uploads and downloads. The catch is the size: 2 GB of storage, shared across every app on the account. That is enough for a prototype or a small avatar uploader. It is not enough for video, a document archive or user galleries.

The pricing page does not spell out what happens when you pass 2 GB. That is worth a question to UploadThing before a production launch.

UploadThing's SDK is MIT-licensed, which is a separate matter from the hosted service's price. upup is MIT-licensed too, and has no hosted service, so there is no plan to outgrow.

What the self-hosted alternative costs

With upup, files go to a bucket in your own account. The browser sends the bytes straight to the bucket over a presigned URL that your server (or @useupup/server) signs, so there is no upload service in the middle to pay for. Your bill has three parts, all from your storage provider:

  • Storage: bytes at rest, per GB per month.
  • Egress: bytes your users download, per GB. This is the line that varies most between providers.
  • Requests: a small charge per thousand or per million operations on some providers.

Rates below are the providers' published prices, checked on 10 October 2026.

Provider (guide)StorageEgress (data out)Requests
AWS S3 (S3 Standard, US East)$0.023 per GB-month, first 50 TBFirst 100 GB a month free, then $0.09 per GB for the first 10 TB$0.005 per 1,000 PUT, COPY, POST or LIST; $0.0004 per 1,000 GET
Cloudflare R2 (Standard)$0.015 per GB-month; first 10 GB-month freeNone for direct S3 API, Workers and r2.dev access$4.50 per million Class A; $0.36 per million Class B; first 1M and 10M a month free
Backblaze B2$6.95 per TB-month; first 10 GB freeFree up to 3x your monthly average stored data, then $0.01 per GBClass A, B and C calls free on pay-as-you-go
DigitalOcean Spaces$5 a month includes 250 GiB, then $0.02 per GiB1,024 GiB a month included, then $0.01 per GiBNo request charges listed
MinIO (self-hosted)Your own disks and serversYour own bandwidthNone

Sources: AWS S3 pricing and the AWS price list API for S3 and data transfer, Cloudflare R2 pricing, Backblaze B2 pricing and DigitalOcean Spaces pricing. AWS prices vary by region; the table uses US East (N. Virginia).

Three volumes, priced

These examples use monthly storage and monthly downloads, rounded, and ignore request fees. They treat 1 GB and 1 GiB as the same size, which slightly overstates DigitalOcean's overage. Free allowances are applied where the provider publishes one.

Stored / downloaded a monthUploadThingAWS S3Cloudflare R2Backblaze B2DigitalOcean Spaces
50 GB / 100 GB$10.00$1.15$0.60$0.28$5.00
500 GB / 1,000 GB$45.00$92.50$7.35$3.41$10.00
5,000 GB / 10,000 GB$405.00$1,006.00$74.85$34.68$189.76

How to read it:

  • UploadThing is priced from storage alone, using the cheapest plan that fits: the 100 GB plan at the first volume, and $25 plus $0.08 per GB over 250 GB after that. The pricing page lists no separate download charge, so none is added here.
  • AWS S3 is cheap at small volumes because the first 100 GB of egress is free, and expensive once downloads grow. At 1,000 GB downloaded a month, egress is $81 of the $92.50.
  • R2 and B2 stay low because egress is free or mostly free. B2's free egress covers downloads up to three times your stored data, which all three volumes stay under.
  • Spaces is a flat $5 until you pass its included storage or transfer.

The formulas, so you can plug in your own numbers:

S3        = storage_GB x 0.023 + max(0, egress_GB - 100) x 0.09
R2        = max(0, storage_GB - 10) x 0.015
B2        = max(0, storage_GB - 10) / 1000 x 6.95
            + max(0, egress_GB - 3 x storage_GB) x 0.01
Spaces    = 5 + max(0, storage_GB - 250) x 0.02
            + max(0, egress_GB - 1024) x 0.01
UploadThing = 10 (up to 100 GB), then 25 + max(0, storage_GB - 250) x 0.08

What the table leaves out

  • Requests. Upload-heavy apps pay per operation on S3 and R2. A million small uploads is about $5 of PUT requests on S3. On R2, Class A operations cost $4.50 per million after the first free million a month. A multipart upload uses several operations per file. B2's pay-as-you-go plan lists those calls as free.
  • Your time. UploadThing runs the storage, signing and file URLs. With a bucket you create it, set its credentials and CORS rule, and run one signing route. @useupup/server is that route, and the storage guides above give you the exact CORS rule per provider. See what you need to go direct to S3.
  • A CDN or custom domain. Serving files from your own domain is a separate setup, and a separate line on the bill, with every provider.
  • Hosted features. The table prices bytes. It does not price UploadThing's file router, its dashboard or having someone else run the infrastructure.

When UploadThing is still the better choice

In the table above, R2, B2 and Spaces cost less than UploadThing at every volume, and only AWS S3 costs more, once downloads grow. Against a low-egress provider, UploadThing's case is your time, not your bill. A hosted plan wins when the numbers are small and your time is not:

  • Your total storage is under a few GB. The free plan costs $0, and so do the first 10 GB on R2 and B2, but with UploadThing there is no bucket to set up.
  • You would otherwise spend hours on a bucket, credentials and CORS for a weekend project.
  • You want one invoice and one vendor, with no cloud account to read.

A bucket wins when storage grows past a few hundred GB, when downloads are heavy, when you already have cloud credits, or when you want the files in an account you control and a provider you can swap by changing an endpoint.

Moving from UploadThing to your own bucket

upup is not a drop-in replacement, but the concepts map one to one. The step-by-step is in Migrating from UploadThing to S3 with upup. Copy your existing files to the new bucket before you cancel the plan.

FAQ

How much does UploadThing cost?

As of October 2026, UploadThing's pricing page lists three plans in US dollars. Free is $0 a month for 2 GB of storage shared across all your apps. The 100 GB plan is $10 a month. The usage-based plan starts at $25 a month with 250 GB included, then costs $0.08 per GB over 250 GB. Check uploadthing.com/pricing for the current numbers.

Is UploadThing free?

Partly. The free plan costs $0 a month, with 2 GB of storage shared across all your apps and unlimited uploads and downloads. The pricing page does not say what happens when you pass 2 GB, so check with UploadThing before you rely on it. Beyond 2 GB, the paid plans are the options the page lists.

Is it cheaper to use your own S3 bucket than UploadThing?

It depends on how much you store and how much your users download. At small volumes the dollar difference is tiny, so setup time often matters more than price. At larger volumes, S3-compatible providers with free or low egress, such as Cloudflare R2 and Backblaze B2, cost less per GB than UploadThing's overage rate. AWS S3 can cost more once downloads grow, because it charges for data transferred out.

Which S3-compatible storage has the cheapest egress?

Cloudflare R2 charges nothing for egress. Backblaze B2 includes free egress up to three times your stored data each month, then charges $0.01 per GB. DigitalOcean Spaces includes 1,024 GiB of outbound transfer, then charges $0.01 per GiB. AWS S3 includes 100 GB a month, then charges $0.09 per GB for the first 10 TB.

Does upup charge anything?

No. upup is MIT-licensed with no hosted tier and no account. You pay only your storage provider, at that provider's rates.

What do I take on by leaving UploadThing for my own bucket?

You create and maintain the bucket, its credentials and its CORS rule, and you run one signing route that issues presigned upload URLs. upup supplies that route in @useupup/server, plus the uploader UI.