Object Storage Comparison 2026: 21 Providers, Real Pricing, and the Gotchas Nobody Tells You
We compared 21 S3-compatible object storage providers across pricing, egress, features, and fine print. AWS S3 costs 15x more than the cheapest alternative for the same workload. Here's everything we found.

We built Awesome Object Storage because we got tired of discovering gotchas after migrating 50 TB. Wasabi's 90-day minimum retention. R2's missing versioning. DigitalOcean's 5 GB object cap masquerading as "unlimited." Every claim sourced, every gotcha earned the hard way.
This is what we found after comparing 21 S3-compatible providers across pricing, features, durability, compliance, and the fine print that actually breaks migrations.
Resources
- Interactive Cost Calculator — plug in your usage, compare all 21 providers
- GitHub: awesome-object-storage — full dataset, JSON schemas, open-source
- Ranked Listicle — top 10 providers ranked with pros, cons, and pricing
The Pricing Lie: Storage Cost Is the Least Important Number
When teams evaluate object storage, they compare the per-GB storage price. That's the wrong number.
Egress is where the real bill hides. AWS S3 charges $0.09/GB to move data out. Google Cloud charges $0.12/GB — the highest of the big three. On a workload that reads 10 TB/month, that's $900–$1,200/month in egress alone, dwarfing the storage cost.
Meanwhile, Cloudflare R2, Tigris, and Backblaze B2 (via Cloudflare Bandwidth Alliance) offer zero or near-zero egress. For a 10 TB stored / 5 TB egress workload:
| Provider | Monthly Cost | vs. AWS S3 |
|---|---|---|
| AWS S3 | $689 | — |
| Google Cloud Storage | $810 | +18% |
| Cloudflare R2 | $158 | -77% |
| Backblaze B2 | $110 | -84% |
| Wasabi | $49 | -93% |
| IDrive e2 | $46 | -93% |
AWS S3 costs 15x more than the cheapest alternative for the same workload. Run the numbers for your own usage at storage.mixpeek.com.
The Escape Cost: What Nobody Compares
Here's the number that matters most and gets compared least: what does it cost to leave?
| Provider | Cost to Move 100 TB Out |
|---|---|
| AWS S3 | $9,000 |
| Google Cloud Storage | $12,000 |
| Azure Blob | $8,700 |
| Cloudflare R2 | $0 |
| Backblaze B2 | $1,000 |
| Wasabi | $0* |
*Wasabi "free" egress is subject to a reasonable-use policy: monthly egress can't exceed your stored volume.
If you're storing 100 TB on GCS and want to leave, it'll cost you $12,000 just in egress fees. That's not a technical lock-in — it's a financial one.
The 8 Gotchas That Will Break Your Migration
Every one of these burned a real team. We know because we were some of them.
1. Wasabi's 90-Day Minimum Retention
Delete an object after 30 days? You still pay for 90. This is per-object, not per-account. On a dataset with high churn, this can double your effective storage cost. We found out after migrating 50 TB.
2. R2 Has No Versioning and No Object Lock
Cloudflare R2 is the darling of zero-egress storage. But it has no versioning, no object lock, and no WORM compliance. If you need immutable backups or regulatory compliance, R2 isn't an option — full stop. Tigris fills this gap with zero egress plus versioning and object lock.
3. DigitalOcean Spaces Caps Objects at 5 GB
The pricing page says "unlimited storage." The fine print says max object size is 5 GB — not 5 TB like every other provider. Vultr and Linode have the same 5 GB cap. If you're storing video, backups, or ML model checkpoints, these are non-starters.
4. "S3 Compatible" Is a Spectrum
Full S3 compatibility means passing the AWS SDK test suite — multipart uploads, presigned URLs, bucket notifications, S3 Select, batch operations. Most providers only support a subset. Azure Blob's S3 compatibility is still in preview. Trust your integration tests, not the compatibility page.
5. GCS Has the Highest Egress of the Big Three
Google Cloud Storage charges $0.12/GB for egress — 33% more than AWS and 38% more than Azure. If your workload is read-heavy, GCS is quietly the most expensive hyperscaler.
6. Archive Tiers Have Minimum Retention Traps
GCS Archive has a 365-day minimum retention. Azure Cold has 180 days. Delete early and you pay the full retention period anyway. OVHcloud applies a 30-day minimum to all tiers, not just archive.
7. Event Notifications Are Basically AWS/GCS/MinIO Only
If your architecture depends on "object created → trigger processing," your options are narrow. S3 (SNS/SQS/Lambda/EventBridge), GCS (Pub/Sub), R2 (Workers), and MinIO (Webhooks/Kafka/NATS) have real event systems. Most alternatives don't.
8. Durability Claims Vary in Substance
Everyone claims 11 nines (99.999999999%). But Vultr, DigitalOcean, and Linode don't publish verifiable durability data. Backblaze publishes drive failure statistics openly. When a provider won't show their math, the number is marketing, not engineering.
The Decision Framework
After testing all 21 providers, here's how we'd decide:
- Cheapest raw storage: Storj ($0.004/GB) or IDrive e2 ($0.004/GB)
- Zero egress, no asterisks: Cloudflare R2
- Zero egress + versioning + object lock: Tigris or Impossible Cloud
- CDN origin: R2 (Cloudflare native) or Fastly Object Storage
- Compliance / WORM: AWS S3 Object Lock or Wasabi (accept the 90-day minimum)
- EU data sovereignty: Hetzner (cheapest), Scaleway, or OVHcloud
- Self-hosted: MinIO (only serious option)
- Biggest free tier: Oracle Cloud (10 TB/mo free egress)
- Already on AWS and can't leave: S3 Intelligent-Tiering + aggressive lifecycle rules
What Happens After You Store It
Object storage used to be a write-and-forget tier. That's changing. AWS launched S3 Vectors — vector search built into S3 itself. turbopuffer runs a vector database on top of S3. LanceDB stores vector indices as objects.
At Mixpeek, we built our processing pipeline to treat object storage as the source of truth for multimodal data — images, video, documents, audio — with feature extraction, embedding, and search all flowing from the bucket. Your storage layer isn't just storage anymore. It's the foundation of your intelligence layer.
If you want to make your stored objects searchable and queryable across modalities, try Mixpeek — it connects to any S3-compatible bucket and turns your data into something you can actually reason over.
Try It Yourself
We open-sourced the full dataset — all 21 providers, ~60 data points each, machine-readable JSON — at github.com/mixpeek/awesome-object-storage.
Run your own cost comparison at storage.mixpeek.com.
If we got something wrong or a provider updated their pricing, open a PR. Every claim is sourced. Every number is verifiable.
