This post contains affiliate links. If you purchase through our links, we may earn a commission at no extra cost to you.
Most object storage comparisons pick two providers and call it a day — usually S3 vs R2, with Vultr mentioned once in a table row if at all. That’s a problem if you’re actually choosing between all three, because the math changes depending on how much of your bill comes from storage versus egress. This post walks through S3 vs R2 vs Vultr object storage pricing with real numbers at multiple usage scales, so you can see exactly where each one wins and where it quietly gets expensive.

S3 vs R2 vs Vultr Object Storage Pricing: Quick Comparison
Here’s the full rate card, verified against each provider’s official pricing documentation in July 2026.
| Metric | AWS S3 (Standard) | Cloudflare R2 (Standard) | Vultr Object Storage (Standard) |
|---|---|---|---|
| Storage price | $0.023/GB-month (first 50 TB) | $0.015/GB-month | $18/mo base, includes 1,000 GB; $0.018/GB after |
| Egress price | $0.09/GB (tiered, drops at scale) | $0.00/GB | Included 1,000 GB/mo, then $0.01/GB |
| Free tier | 5 GB/12mo (pre-July 2025 accounts only) or $200 account credit for 6mo (new accounts) | 10 GB storage + 1M Class A + 10M Class B ops/mo, ongoing | None — paid from day one |
| Request/operation fees | Per-request pricing, varies by type | Class A: $4.50/million; Class B: $0.36/million | Not billed separately |
| Max object size | 5 TB | 5 GB | 5 GB |
Prices last checked: July 2026. Storage pricing changes often enough on all three platforms that it’s worth a quick check against the official pricing pages before you commit — especially for Vultr, where we found conflicting numbers on third-party sites (more on that below).
The pattern that jumps out immediately: R2’s egress is free, full stop, no strings attached. That single line item is the reason this comparison isn’t close for most workloads — but it’s not the whole story, so let’s break down how each provider actually bills you.
Cloudflare R2 Pricing Explained
R2’s pricing model is the simplest of the three. Standard storage runs $0.015/GB-month, egress is genuinely $0.00/GB — not “free if you route through our CDN” like Backblaze B2’s Bandwidth Alliance model, just zero, unconditionally.
Where R2 does charge is operations. Class A operations (writes, uploads, lists — things like PutObject and multipart uploads) cost $4.50 per million requests. Class B operations (reads, like GetObject) cost $0.36 per million. For most workloads these fees are a rounding error next to storage and egress, but they matter if you’re doing something unusual, like uploading millions of tiny files or using small multipart chunk sizes on large objects — each part consumes its own Class A operation, so a poorly configured multipart upload can rack up more ops than expected.
R2’s free tier is 10 GB of storage plus 1 million Class A and 10 million Class B operations per month — and unlike a lot of “free tier” marketing, this one is ongoing, not a 12-month trial. It only applies to Standard storage, not the Infrequent Access tier, which drops the storage rate to $0.01/GB but adds a $0.01/GB retrieval fee and skips the free allowance entirely.
AWS S3 Pricing Explained
S3’s headline storage rate — $0.023/GB-month for the first 50 TB in US East — looks competitive on paper. The number that actually matters is egress, and it’s not competitive at all: $0.09/GB for the first 9.9 TB after your free allowance, stepping down to $0.085/GB, then $0.07/GB, then $0.05/GB at higher volumes. That tiered structure means large accounts do get a break, but you need to be moving tens of terabytes a month before it kicks in.
The one egress workaround AWS itself recommends: routing traffic through CloudFront instead of serving directly from S3 eliminates the egress charge entirely, since S3-to-CloudFront transfer is free. If you’re already paying for S3 and eating egress costs, that’s worth setting up before you look anywhere else.
S3’s free tier deserves its own callout because most articles still get this wrong in 2026. If your AWS account was created before July 15, 2025, you keep the legacy free tier — 5 GB of storage, 20,000 GET requests, and 2,000 PUT requests per month, for 12 months from account creation. If your account was created on or after that date, there’s no S3-specific free tier at all. Instead, new accounts get up to $200 in AWS credit, usable across any AWS service, valid for six months — a materially different (and less generous, for storage-specific use) deal than the old one. Check your account creation date before you assume you’re covered.
There’s also a combined 100 GB/month free egress allowance across all AWS services on an account — not S3-specific, and easy to blow through if you’re also running EC2 or CloudFront traffic on the same account.

Vultr Object Storage Pricing Explained
Vultr takes a flat-rate approach instead of pure per-GB billing. The Standard tier is $18/month and bundles in 1,000 GB of storage and 1,000 GB of egress — extra storage beyond that runs $0.018/GB, and extra egress runs $0.01/GB, per Vultr’s own billing documentation. There’s also an Archival tier at $6/month with the same 1 TB storage/egress allowance and a cheaper $0.006/GB overage rate for cold data, plus Premium, Performance, and Accelerated tiers ($36, $50, and $100/month respectively) for higher-throughput workloads, each with the same 1 TB inclusion but steeper per-GB overage pricing.
A quick note on accuracy, because we found conflicting numbers while researching this: some third-party comparison sites describe Vultr’s rate as “$0.01/GB storage with 250 GB free egress.” That doesn’t match what Vultr’s own billing docs say — the $0.01/GB figure is actually the egress overage rate, not storage, and the included allowance is 1,000 GB, not 250 GB. We’re treating Vultr’s official documentation as the source of truth here, and you should too — always confirm current pricing on Vultr’s own Object Storage pricing page before signing up, since third-party figures on this specific point don’t agree.
If you want the full breakdown of Vultr Object Storage’s features, S3-API compatibility, NVMe tiers, and setup process, we’ve covered that separately in our full Vultr Object Storage review — this post sticks to the pricing mechanics.
One thing that works in Vultr’s favor regardless of the headline rate: inbound transfer is free and unlimited on every tier, and there are no per-request API fees like R2’s Class A/B model or S3’s per-request pricing. If you’re already running compute on Vultr, colocating your storage there also cuts cross-provider egress to effectively zero for anything served from the same infrastructure.
New Vultr accounts get $300 in free credit valid for 30 days, which is enough runway to test the Standard tier against your actual workload before committing.
Real-World Cost Examples: What You’d Actually Pay
Rate cards are hard to reason about in the abstract, so here’s what each provider actually costs at two different scales.
Scale 1 — small indie project (100 GB stored, 500 GB egress/month):
| Provider | Monthly cost | Why |
|---|---|---|
| Cloudflare R2 | ~$1.35 | Storage only — egress is free |
| Vultr Standard | $18 flat | Both storage and egress fit inside the included 1 TB/1 TB |
| AWS S3 | ~$47 | ~$2.30 storage + ~$45 egress once the shared 100 GB free allowance is used up |
Scale 2 — larger workload (10 TB stored, 5 TB egress/month):
| Provider | Monthly cost | Why |
|---|---|---|
| Cloudflare R2 | ~$158 | Storage only, zero egress at any volume |
| Vultr Standard | ~$228 | $18 base + storage overage on 9 TB past the included 1 TB + egress overage on 4 TB past the included 1 TB |
| AWS S3 | ~$689 | Tiered storage plus tiered egress on 5 TB out |
Prices last checked: July 2026.
The pattern holds at both scales, and it gets more pronounced as egress grows, not less: R2 wins decisively wherever egress is a meaningful share of the bill, because that line item is always zero. Vultr lands between S3 and R2 for workloads that roughly fit inside its 1 TB/1 TB bundle — cheaper than S3, but it loses ground to R2 fast once your egress climbs into multi-terabyte territory. S3 is the most expensive of the three in nearly every egress-heavy scenario we could find data for; its advantages (5 TB object size, AWS ecosystem integration) have nothing to do with being the cheap option.

Why Egress, Not Storage Price, Decides Most Comparisons
If you only remember one thing from this post, make it this: the per-GB storage rate you see advertised typically accounts for only 30–50% of a real monthly bill once egress, operations, and retrieval costs are added in. It’s why Vultr, despite a higher headline storage rate than R2, isn’t automatically the pricier option — its bundled egress allowance changes the math for anything that fits inside 1 TB a month. And it’s why R2 stays cheap even though its storage rate isn’t the lowest of the three — zero egress dominates the total for any delivery-heavy workload, whether that’s serving images to a public site, acting as a CDN origin, or handling SaaS file downloads.
This is also why generic example tables — including the two above — can only get you so far. They use round numbers that won’t match your actual usage.
Calculate Your Exact Object Storage Cost
The 100 GB and 10 TB examples above are illustrative, not predictive — your own storage-to-egress ratio is the single biggest variable in which of these three providers actually wins for you, and no fixed table can answer that for your specific numbers. If you already know roughly how much you store and how much you push out in a typical month, you can get an exact answer instead of eyeballing it from a chart.
We built a free Object Storage Cost Calculator for exactly this — plug in your GB stored and GB egress per month, and it calculates what you’d pay across S3, R2, and Vultr side by side, using the current rates from this post.
Free Tiers: What You Actually Get for $0
Free tiers differ sharply enough between these three that they’re worth comparing on their own. R2 gives you 10 GB of storage plus 1 million Class A and 10 million Class B operations every month, indefinitely — not a trial. S3’s free tier depends entirely on when you created your AWS account: 5 GB for 12 months if you’re pre-July 2025, or a one-time $200 account-wide credit good for six months if you’re newer. Vultr has no free tier of any kind — you’re a paying customer from the first GB — though $100–$250 signup credit promos are common through referral programs, including Vultr’s own $300/30-day new-account credit.
If your project is small enough to live entirely inside R2’s free allowance, it’s the only one of the three that costs nothing indefinitely rather than for a limited window.
S3 Compatibility and the 5 GB Object Size Cap
All three services expose an S3-compatible API, so tools like the AWS CLI, rclone, s3cmd, and boto3 generally work against any of them with a config change. Two caveats matter for a pricing-focused comparison, though. First, object size limits differ: AWS S3 supports objects up to 5 TB, while both R2 and Vultr Object Storage cap individual objects at 5 GB. That’s a hard disqualifier, not a pricing detail — no amount of savings from R2 or Vultr matters if your workload includes files over 5 GB, like VM images, ML model checkpoints, or long-form video masters. In that case S3 is your only option among these three, cost aside.
Second, R2 and Vultr both lag S3 on advanced feature depth — S3’s seven storage classes, Object Lambda, and mature lifecycle automation don’t have direct equivalents on either competitor. Those are architecture trade-offs, not pricing ones, and we’ve already covered Vultr’s specific feature gaps (no bucket replication, no event notifications, no lifecycle policies as of this writing) in detail in our Vultr Object Storage review if you want the full picture beyond price.
Which Provider Should You Choose?
- Choose Cloudflare R2 if egress is a meaningful part of your workload — media delivery, a CDN origin, public API responses, or SaaS file downloads. The free-forever 10 GB tier plus zero egress makes it the default pick for most indie and bootstrapped projects in 2026.
- Choose AWS S3 if you need objects larger than 5 GB, you’re already deep in the AWS ecosystem (Lambda triggers, IAM, native SDK support everywhere), or you need S3’s broader feature set like storage classes and Object Lambda. It’s rarely the pricing winner in any egress-heavy scenario, so choose it for capability, not cost.
- Choose Vultr Object Storage if you’re already running compute on Vultr and want storage colocated in the same datacenter — near-zero cross-provider egress and low latency — your files stay under 5 GB, and your usage roughly fits inside the bundled 1 TB storage/1 TB egress allowance. At that scale, the flat $18/month is simple to budget for and beats S3, though it rarely beats R2 once your egress climbs past a couple of terabytes a month.
FAQ
Is Cloudflare R2 always the cheapest object storage in 2026?
Not always, but it wins most egress-heavy comparisons because its egress rate is $0.00/GB regardless of volume. For storage-only workloads with minimal egress, the gap between R2 and the others narrows considerably, and Vultr’s flat-rate bundle can come out ahead if your usage fits inside its included 1 TB allowance.
Does Vultr Object Storage have a free tier?
No. Vultr charges from the first GB on every tier, including the $6/month Archival option. New accounts can get signup credit promos — Vultr’s current offer is $300 in free credit valid for 30 days — but that’s a limited-time credit, not an ongoing free tier like R2’s.
What happened to the AWS S3 free tier in 2026?
It split by account age. AWS accounts created before July 15, 2025 keep the legacy 5 GB/12-month free tier. Accounts created on or after that date instead get a one-time $200 credit usable across any AWS service, valid for six months — which is a different and generally less S3-specific deal.
Can I store large files like VM images on Vultr Object Storage or Cloudflare R2?
Not if they’re over 5 GB. Both Vultr and R2 cap individual objects at 5 GB, while AWS S3 supports objects up to 5 TB. For large file workloads — VM images, ML checkpoints, long-form video — S3 is the only option of the three regardless of price.
Is Vultr Object Storage cheaper than AWS S3?
In most real-world scenarios we modeled, yes — Vultr’s flat $18/month Standard tier beats S3 once you account for S3’s egress charges, as long as your usage stays roughly within Vultr’s 1 TB storage/1 TB egress bundle. Push much past that bundle, though, and Vultr’s per-GB overage rates start eating into that advantage.
Final Verdict: S3 vs R2 vs Vultr Object Storage Pricing
For most indie projects and small SaaS products in 2026, Cloudflare R2 is the cheapest object storage option by a wide margin the moment egress becomes a real line item — which is most of the time. Vultr Object Storage is the better call if you’re already on Vultr compute and want predictable flat billing for a workload that fits inside its 1 TB bundle; Vultr is currently offering $300 in free credit for new accounts, which is enough to test the Standard tier against your real numbers before you commit a card. AWS S3 remains the right choice only when you specifically need its 5 TB object size ceiling or deeper AWS ecosystem integration — not because it’s competitive on price.
If you’re still not sure which one wins for your specific numbers, don’t guess from the example tables above — run your actual GB-stored and GB-egress figures through our Object Storage Cost Calculator and get a real answer in under a minute.

