Object Storage Pricing Compared (2026): S3 vs R2 vs B2 vs Wasabi at 1 TB
Wasabi is the cheapest object storage at $7.99/mo for 1TB stored and 5TB egress; AWS S3 costs $464.90/mo for the same load, verified September 2026.

For 1 TB stored, 5 TB of egress and 1.1 million requests a month, Wasabi is the cheapest S3-compatible object storage at $7.99/mo, verified on Wasabi's pricing page, September 2026. Hetzner Object Storage is the runner-up at $12.79/mo priced in USD through its own site currency switcher, and Cloudflare R2 follows at $14.85/mo, the pick if you want free requests baked into a real free tier rather than a flat rate. AWS S3 costs $464.90/mo for that same load, almost entirely because of its per-GB egress fee.
Every price below was read on the vendor's own pricing page today, in USD, using each vendor's own published dollar figure (a currency switcher, in Hetzner's case) rather than a conversion this page performed. This page compares 10 S3-compatible and object-storage-adjacent services developers actually put a bucket on: hyperscaler S3 clones, storage-first challengers and the object storage add-on on three VPS platforms.
Devshot data: of the 30 tools Toolradar's cloud storage ranking evaluated (updated September 2026, the closest built category to developer object storage on that site), the 10 developer-facing services priced here all convert to a USD figure their own site publishes, and the spread between the cheapest and the most expensive runs 76x.
The scenario, and why it matters
1 TB stored, 5 TB of monthly egress, 1 million GET requests and 100,000 PUT requests describes a mid-size app bucket: user uploads, a CDN origin, or a backup target that gets read a lot more than it gets written. That mix is what separates the vendors below, because storage is cheap everywhere and egress is not. A provider with a low sticker price on storage alone can still lose badly once 5 TB a month starts leaving the network, the same lesson cursor pricing and Claude Code pricing teach about usage-metered developer tools generally: the sticker price is never the whole invoice.
Cost comparison at the scenario
| Tool | Entry price | Cost at scenario | Free plan (limits) | Billing basis | Hidden costs |
|---|---|---|---|---|---|
| Wasabi | $7.99/TB/mo | $7.99/mo | None; 30-day free trial only | Flat per TB, no egress or request meter | 90-day minimum storage duration, billed for remaining days on early delete |
| Hetzner Object Storage | $7.99/mo | $12.79/mo | 1TB storage + 1TB egress included in the base fee; no free-forever tier | Flat monthly base plus per-TB overage, billed hourly | Additional storage $8.86/TB/mo, additional egress $1.20/TB past the included 1TB |
| Cloudflare R2 | Free | $14.85/mo | 10GB storage, 1M Class A ops, 10M Class B ops/mo | Per GB storage, per-million ops, zero egress | Class A (write) ops $4.50 per million past the free tier |
| Tigris Data | Free tier | $20.90/mo | 5GB storage, 10k Class A, 100k Class B/mo | Per GB storage, per-1,000 ops, zero egress | Class A request fee $0.005 per 1,000 past the free 10,000 |
| Backblaze B2 | $6.95/TB/mo | $26.88/mo | 10GB storage, 3x storage in free egress | Per GB storage, metered egress past the 3x allowance | Download overage $0.01/GB once the free 3x-storage egress runs out |
| Linode (Akamai) Object Storage | $0.02/GB/mo | $40.00/mo | 1TB outbound transfer/mo | Pure usage, no base fee | Transfer $0.005/GB past the 1TB included each month |
| DigitalOcean Spaces | $5/mo | $54.95/mo | 250GiB storage, 1TiB transfer | Flat base plus per-GiB overage | Storage overage $0.02/GiB and transfer overage $0.01/GiB past the included quota |
| Azure Blob Storage (Hot, LRS) | $0.0208/GB/mo | $448.00/mo | 100GB egress/mo (account-wide) | Per GB storage, per-10,000 ops, metered egress | Egress $0.087/GB past the 100GB free allowance |
| AWS S3 Standard | $0.023/GB/mo | $464.90/mo | 100GB egress/mo (account-wide) | Per GB storage, per-1,000 requests, metered egress | Egress $0.09/GB once the 100GB free allowance is spent |
| Google Cloud Storage (Standard) | $0.020/GB/mo | $608.76/mo | 100GB egress/mo, 5GB storage, 5k Class A / 50k Class B ops (Always Free) | Per GB storage, per-1,000 ops, metered egress | Egress $0.12/GB, the steepest per-GB rate on this page |
Hetzner Object Storage defaults to EUR (a base fee of €6.49/mo covering 1TB of storage and 1TB of egress, plus €1.00/TB for egress past that allowance, €10.49/mo at this scenario), but its pricing page carries a currency switcher with a published USD price, the base fee and per-TB egress overage figures used in the table above, never derived by converting the euro figure ourselves.
The arithmetic, shown once
Wasabi charges one flat rate per TB regardless of usage, so its cost at this scenario is just that sticker price, with no egress or request line ever added, which is the entire pitch.
AWS S3 is the opposite: storage is a rounding error next to egress. Storage is $0.023/GB x 1,000GB = $23.00. Requests add 100,000 PUT / 1,000 x $0.005 = $0.50 and 1,000,000 GET / 1,000 x $0.0004 = $0.40. The first 100GB of egress is free across an AWS account, so the billable egress is 4,900GB: 4,900GB x $0.09/GB = $441.00. Total: $23.00 + $0.50 + $0.40 + $441.00 = $464.90/mo, with egress alone accounting for 95% of the bill.
Google Cloud Storage follows the same shape at a steeper egress rate: Google's Always Free tier nets out 5GB of storage, 5,000 Class A and 50,000 Class B operations, and 100GB of egress every month, so storage is $19.90, requests add $0.86 combined, and the billable 4,900GB of egress at $0.12/GB is $588.00, for a $608.76/mo total, the most expensive vendor on this page.
Where the ranking flips
This order holds at 5 TB of egress against 1 TB stored. Drop the egress volume to well under 3 TB a month and Backblaze B2's free-egress allowance (3x average storage, so 3TB free on a 1TB bucket) starts to cover the whole month: at near-zero egress, B2's bill is just its storage charge, about $6.88/mo, which undercuts Wasabi's flat rate. Past roughly 10 TB stored, DigitalOcean Spaces and Linode Object Storage both move fully onto their per-GB overage rate from the first byte, since their included quotas stop scaling with usage, so they lose ground to Wasabi, R2 and Tigris faster the bigger the bucket gets. At egress far above 5 TB a month, the hyperscalers' per-GB egress rate keeps compounding while Wasabi, R2, Tigris and Hetzner's included tier stay flat, so the gap between the cheapest and most expensive rows only widens with more traffic.
Wasabi: flat pricing, with a 90-day catch
Wasabi's entire pitch is one flat per-TB rate (see the table above), no egress fee and no per-request charge, confirmed on its pricing and FAQ pages. That works cleanly for a bucket that stays roughly the same size all month. The catch shows up on deletion: Wasabi enforces a 90-day minimum storage duration, and deleting an object before that window bills you for the remaining days as if it were still stored. Objects under 4KB are also billed as if they were 4KB. Neither trap matters for a stable media or backup bucket; both matter for a bucket full of short-lived temp files.
Cloudflare R2: the free tier does real work
R2 charges $0.015/GB for storage and nothing for egress, and its free tier, 10GB storage plus 1 million write and 10 million read operations a month, absorbs this scenario's entire request volume. The only line that shows up on the invoice is storage past the free 10GB, which is why R2 lands at $14.85 rather than a flat $15.00. Push past 1 million writes a month and Class A operations cost $4.50 per million, the one number worth watching if the workload is upload-heavy rather than read-heavy.
Tigris Data: R2's shape, a slightly higher entry price
Tigris also charges nothing for egress and prices storage per GB, but its free tier is smaller (5GB storage, 10,000 Class A requests, 100,000 Class B requests a month), so more of this scenario's usage falls outside it. The result, $20.90/mo (storage $20.00 plus $0.45 in Class A and $0.45 in Class B overage), sits between R2 and Backblaze B2 rather than matching either. Tigris is newer and smaller than both, which matters for teams weighing ecosystem maturity against price.
Backblaze B2: cheap storage, egress that runs out
Backblaze B2 prices storage at $6.95/TB/mo and gives every account free egress equal to three times its average monthly storage, 3TB on a 1TB bucket here. This scenario's 5TB of egress blows past that allowance by 2TB, adding $20.00 at $0.01/GB and pushing the total to $26.88. A bucket that stays under its 3x-storage egress ceiling effectively pays B2's storage price and nothing else, which is why the ranking flip above puts B2 ahead of Wasabi at lower traffic.
Linode and DigitalOcean: VPS-style object storage, not a hyperscaler clone
Linode (Akamai) Object Storage has no monthly base fee: $0.02/GB storage plus $0.005/GB egress past a 1TB-included allowance, landing at $40.00/mo here. DigitalOcean Spaces flips that model, a $5/mo flat fee that bundles 250GiB of storage and 1TiB of transfer, then meters storage at $0.02/GiB and transfer at $0.01/GiB past those quotas; at 1TB stored and 5TB moved, the overage adds up to $54.95/mo. Both are the object storage bolted onto a VPS provider's console rather than a dedicated storage product, which suits a team that already runs compute there and wants one invoice, not a team shopping storage on price alone; Devshot's best VPS hosting for developers roundup covers the compute side of that tradeoff. The same platform-versus-piece-by-piece tradeoff shows up in Vercel's own pricing: bundling usually loses on price once one meter runs hot, and wins on invoice count.
AWS S3, Azure Blob and Google Cloud Storage: the egress bill dominates
All three hyperscalers price storage within a few tenths of a cent of each other and would look nearly tied on a storage-only comparison. What separates them here is the egress rate: Google Cloud Storage charges $0.12/GB, AWS S3 charges $0.09/GB, and Azure Blob Storage (Hot tier, LRS, East US) charges $0.087/GB for outbound bandwidth on Microsoft's premium global network, per the same bandwidth pricing page used for this calculation. Azure's storage rate, $0.0208/GB-month, is read from Microsoft's retail Prices API (prices.azure.com, Hot LRS, East US), not the marketing pricing page, because the two can disagree and the API is what actually bills. At this scenario's 5TB of egress, that rate difference alone is worth over $150/mo between Azure and Google. None of the three waive egress at any real volume in this range; all three have a 100GB-a-month free allowance (AWS and Azure perpetually, Google under its Always Free tier), effectively a rounding error against 5TB. A Vercel or Netlify deployment that proxies file downloads through one of these three buckets inherits that egress bill on top of its own hosting invoice, which is why teams serving a lot of static assets often put R2 or Wasabi in front instead.
Hetzner: cheap, and it does quote a dollar price
Hetzner's Object Storage pricing page defaults to EUR, a base fee of €6.49/mo covering 1TB of storage and 1TB of egress, with additional egress at €1.00/TB and no charge at all for S3 API requests (PUT, GET, DELETE). Switch the page's own currency selector to USD, though, and the base package matches Wasabi's headline number exactly (see the table above), with additional storage at $8.86/TB and additional egress at $1.20/TB, a published first-party dollar price, not a conversion this page performed. At this scenario, 4TB of egress past the included 1TB adds 4 x $1.20 = $4.80 to the base fee, for $12.79/mo total, second only to Wasabi. Objects under 64KB are billed as if they were 64KB, and the base fee is billed hourly with no monthly minimum below a full active month.
Object storage is rarely the only meter
A bucket doesn't run alone. A Supabase project bills its own storage and egress separately from whatever sits behind it, and the Supabase vs Firebase comparison covers that invoice in full; a team choosing a backend and an object store in the same quarter should price both before committing to either. Devshot's statistics page tracks how often developer tooling costs move month to month, which is the same reason every price above carries a verification date instead of a "starting at" figure with no month attached. AWS, Google Cloud and Azure each run a free tier with its own limits, and Cloud Free Tiers Compared lists what those include, with Oracle Cloud.
Hidden costs that do not show up on the plan card
- Wasabi: 90-day minimum storage duration; deleting early bills the remaining days. Objects under 4KB are billed as 4KB.
- Cloudflare R2: Class A (write) operations cost $4.50 per million past the 1 million included each month; Infrequent Access storage doubles that to $9.00 per million.
- Tigris Data: the free tier caps at 10,000 Class A and 100,000 Class B requests a month, and the free storage allowance is 5GB, half of R2's; past that, small per-request fees apply.
- Backblaze B2: the free egress allowance is 3x a bucket's average monthly storage; usage past that meters at a per-GB overage rate, which added $20.00 to this scenario's total.
- Linode Object Storage: there is no base fee cushioning a spiky month, so egress bills from the first GB past the 1TB included each month.
- DigitalOcean Spaces: storage and transfer overage both apply past the 250GiB/1TiB the $5/mo base includes, which is most of the $54.95/mo total here.
- AWS S3: egress is $0.09/GB after the first 100GB, and PUT/COPY/POST/LIST requests run $0.005 per 1,000, a separate line most storage-only comparisons skip.
- Azure Blob Storage: egress is $0.087/GB on the premium network after 100GB free; the cheaper transit-ISP routing option is $0.08/GB but is not the default.
- Google Cloud Storage: egress is $0.12/GB after the first 100GB free each month under the Always Free tier, the highest per-GB egress rate of the three hyperscalers here.
- Hetzner: the base fee is billed hourly, so a bucket that exists for even one hour in a month is billed for that hour; objects under 64KB are billed as 64KB.
How we checked these prices
Louis Corneloup, founder of Devshot, Dupple and Toolradar, read each vendor's own pricing page on September 28, 2026: AWS S3, Cloudflare R2, Backblaze B2, Wasabi and its pricing FAQ, Tigris Data, Linode/Akamai Object Storage, DigitalOcean Spaces, Google Cloud Storage, Azure Blob Storage plus Azure bandwidth pricing, and Hetzner Object Storage. Azure's storage rate is read from Microsoft's retail Prices API (prices.azure.com/api/retail/prices), Hot tier, LRS, East US, rather than the marketing page. Costs at the scenario, 1TB stored, 5TB of egress, 1 million GET and 100,000 PUT requests a month, are computed from each vendor's own published per-unit rates; they are not vendor quotes. Editorial rules are on the Devshot about page.
FAQ
What is the cheapest S3-compatible object storage in 2026?
For 1TB stored and 5TB of monthly egress, Wasabi is cheapest, its flat per-TB rate in the table above, verified September 2026, because it charges nothing for egress or requests. Hetzner Object Storage is next at $12.79/mo priced in USD, and Cloudflare R2 follows at $14.85/mo and gives more free requests before any metering starts.
How much does AWS S3 cost for 1TB with 5TB of egress?
$464.90/mo: $23.00 for storage, $0.90 combined for PUT and GET requests, and $441.00 for 4,900GB of billable egress once the 100GB free allowance is used. Egress is the line that dominates the AWS bill, not storage.
Is there a free way to run S3-compatible object storage?
Cloudflare R2's free tier covers 10GB of storage and 1 million write plus 10 million read operations a month, which is a real workload for a small app, not a demo. Past that, R2 bills $0.015/GB with no egress fee at all.
Does Cloudflare R2 really have no egress fees?
Yes, on every storage class, standard and Infrequent Access alike. The costs that do apply are storage per GB and per-operation charges once the free tier of 1 million Class A and 10 million Class B operations a month is spent.
Why is Google Cloud Storage the most expensive vendor at this scenario?
Its $0.12/GB egress rate is the highest of the three hyperscalers compared here, and its egress free tier is negligible next to 5TB of monthly traffic. Storage pricing is close to AWS and Azure; egress is what separates the three.
Is Wasabi actually free of hidden fees?
Storage and egress are flat, but Wasabi enforces a 90-day minimum storage duration: deleting an object earlier bills the remaining days as if it were still stored, and objects under 4KB are billed as 4KB regardless of actual size.
How much does Backblaze B2 cost for a bucket that barely gets read?
Close to its storage price alone. B2 gives free egress up to three times a bucket's average monthly storage, so a 1TB bucket gets 3TB of free egress; only traffic past that adds the $0.01/GB overage that pushed this scenario's total to $26.88.
Does Hetzner Object Storage price in dollars?
Yes. Hetzner's pricing page defaults to euros (€6.49/mo base for 1TB storage and 1TB egress, plus €1.00/TB after that) but has its own currency switcher that shows USD, matching Wasabi's headline base rate, plus $1.20/TB additional egress, which puts it second-cheapest in this comparison at $12.79/mo for the scenario.
Cite this: Devshot, "Object Storage Pricing Compared (2026): S3 vs R2 vs B2 vs Wasabi at 1 TB", September 2026.
Storage bills change quietly. Devshot's daily brief flags the pricing changes developers act on. Subscribe at devshot.co.
Some offers on this page may be paid placements or contain affiliate links.
Devshot: the daily dev & AI brief
Free daily newsletter, read in 5 minutes.
Subscribe free