Prices as of 2026-06-15 · every figure computed from the sourced tiers below

Google Cloud Storage egress cost: what data transfer really costs (and how to cut it)

TL;DR. Google Cloud Storage meters data served out of Google Cloud Storage to the internet (Premium Tier) per gigabyte, and the rate has barely moved in years even as wholesale bandwidth fell by more than half. At 50 TB/mo that's about $4,413/month — roughly $52,961/year — in transfer alone, before storage or requests. The same bytes cost $0 in egress on Cloudflare R2, a few hundred dollars on a CDN like bunny.net, or nothing on a flat-rate box you already rent. Below: the exact per-GB tiers, what they add up to at every scale, the lines that are also egress but rarely get blamed on it, and the honest cases where you should leave it where it is.

The per-GB tiers

Google Cloud Storage egress is tiered — the first block is the priciest, then it steps down (US/Europe, as of 2026-06-15):

Monthly egress tierPrice /GB
First 200 GB/mo (free allowance)free
First 1 TB$0.120
1–10 TB$0.110
Over 10 TB$0.080

What it costs at every scale

Pure transfer-out cost, Google Cloud Storage to the internet, before storage or requests — vs the targets that don't meter egress the same way. As of 2026-06-15.

Egress / month Google Cloud Storage → internet Cloudflare R2bunny.net CDNOVH / Hetzner flat box
1 TB/mo $123 $0$5–$10$0
5 TB/mo $573 $0$26–$51$0
10 TB/mo $1,137 $0$51–$102$0
50 TB/mo $4,413 $0$256–$512$0
100 TB/mo $8,509 $0$512–$1,024$0
500 TB/mo $41,277 $0$2,560–$5,120$0
The honest footnote. This table is egress only. R2 and B2 still charge for storage (~$15/TB and ~$6/TB per month); a flat box still costs rent plus the time to run it. Egress is simply the line where the markup is most extreme and most avoidable.

The lines that are also egress (and hide)

The headline rate understates true transfer spend on every hyperscaler — these are billed as transfer too and rarely get blamed on it: cross-zone traffic within a region, inter-region replication, gateway/NAT per-GB processing (Google Cloud's equivalent of AWS NAT Gateway), and per-request fees on object stores. Check your provider's bill for each.

The ways to cut it (in order of effort)

  1. Put a cache in front (lowest effort). A CDN serves repeat requests from cache, so they never touch metered egress. Cloudflare's free tier gives unmetered cache-hit bandwidth for normal sites; bunny.net (~$0.005–0.01/GB) is excellent for media.
  2. Move to zero-egress storage. Cloudflare R2 is S3-compatible with no egress fees; Backblaze B2 gives free egress up to 3× stored data. Both speak the S3 API — usually a config change.
  3. Serve the heavy traffic from a flat-rate box. OVH and Hetzner include generous-to-unlimited transfer.
  4. Fix the hidden internal egress. Add private-network endpoints (AWS VPC gateway endpoints, Azure Private Link / Service Endpoints, GCP Private Google Access) so internal traffic skips metered paths; collapse needless cross-zone chatter. Worth doing even if you stay put.

When it's genuinely fine (don't move it)

Cost by scale

Sources

Don't miss new posts

I publish honest, sourced breakdowns of cloud-exit economics — egress, storage, monitoring, reliability — and the occasional announcement. Leave your email and I'll let you know when something new goes up.

Double opt-in — you'll get one email to confirm. No spam, unsubscribe anytime. Read by me, never shared.