Everyone says the same thing about EmDash CMS: zero egress fees make it a no-brainer for media-heavy sites. Store all the video, all the images, all the audio you want — Cloudflare’s R2 charges nothing to serve them. Compared to AWS S3, where egress can eat your budget alive, this sounds like the obvious choice.
It’s not that simple. Zero egress solves one problem and creates three others that most coverage quietly skips. For media-heavy sites, the total cost picture is more complex — and in some scenarios, more dangerous — than the headline suggests.
The zero egress promise is real — but it's surrounded by bills that aren't zero at all.
How Zero Egress Actually Works
Cloudflare’s R2 object storage charges zero for data transfer out. Period. No surprise egress bills when a viral post spikes traffic. That’s genuine.
But R2 is only one layer in EmDash’s stack. Every page view on a media-heavy site also hits:
- Workers — billed per request and per CPU millisecond
- D1 — billed per row read and written
- KV — billed per read and write operation
A single page load with 12 embedded images triggers 12 R2 reads (zero egress, fine), 12 D1 queries for metadata, 1 Worker invocation for the page render, and potentially KV lookups for session state. That’s four different billing meters firing simultaneously on one user visit.
The zero egress win gets diluted fast.
The Hidden Cost Pattern
Here’s the specific scenario that hurts. A media site publishes a longform article with 20 high-res images. Normal traffic day: 10,000 visits. That’s 200,000 R2 reads (free egress, good), 200,000 D1 row reads (billed), 10,000 Worker invocations (billed), plus CPU time for image processing if any transformations run.
On AWS S3 with a traditional host, you’d pay egress fees on the images — maybe $30-50 for that day depending on file sizes. On EmDash, you pay $0 for the image transfer but $15-25 for the database and compute layers.
The aggregate cost is often similar. The difference is predictability. S3 egress scales linearly with file size — easy to model. EmDash’s multi-meter billing scales with request patterns and CPU duration — much harder to forecast.
Where the Advice Breaks Down
The common advice — “zero egress = cheaper for media” — assumes media delivery is the dominant cost. For sites where images are small (under 200KB) and traffic is moderate (under 50,000 visits/month), that’s often true. The Workers and D1 costs stay low enough that zero egress genuinely saves money.
The advice breaks down in three specific cases:
High-traffic media sites (500,000+ visits/month). The Workers cost alone at $0.30 per million requests adds up. A site serving 10 requests per page view (images, CSS, JS, API calls) hits 5 million Worker invocations daily. That’s $1.50/day just in request fees, plus CPU time charges on top. Over a month, the compute layer rivals what S3 egress would have cost.
Video-heavy sites. Serving video files through Workers incurs CPU time for streaming. A 10-minute video at 1080p can consume 30-60 seconds of CPU time per view. At $0.02 per million milliseconds of CPU time, 10,000 views cost roughly $6-12 in compute alone — before any storage or database charges. Traditional hosting with flat-rate bandwidth would have been cheaper.
Sites with dynamic transformations. Every image resize, format conversion, or thumbnail generation runs on Workers CPU time. A gallery site serving 200 images per visit with auto-formatting can burn through the free CPU tier in hours.
The Second-Order Effect Most Coverage Misses
Here’s what I haven’t seen anyone address: zero egress removes the budget ceiling that flat-rate hosting provides. On a traditional host, your $50/month plan caps bandwidth at some generous limit. You can’t accidentally blow past it because the host throttles or the site slows down under load.
On EmDash, there is no hard cap. The system keeps serving traffic, the meters keep ticking, and your bill keeps climbing. A coordinated bot attack downloading every image on your site — 10,000 requests per second from 5,000 IPs — costs real money. Cloudflare’s WAF can rate-limit by IP, but distributed attacks from thousands of endpoints bypass simple rate limits. No spending cap exists.
For a media-heavy site where image assets are large and numerous, an orchestrated scrape could cost hundreds or thousands of dollars before you notice. The zero egress benefit becomes a liability: because serving data costs nothing per byte, there’s no natural friction point that limits abuse.
What This Means for Different Site Types
Small blogs with occasional images — EmDash wins. Zero egress is genuinely cheaper. Your Workers and D1 costs stay under $5/month.
Mid-size publishers (50,000-500,000 visits/month) — It depends on image sizes and transformation needs. Run the math on your specific patterns. The zero egress benefit is real but often offset by compute costs.
Large media operations — Traditional hosting with flat-rate bandwidth and CDN bundling often works out cheaper. The predictability of a fixed monthly bill matters more than marginal per-request savings.
Video platforms — Avoid EmDash for now, unless you’re willing to actively monitor and cap your Workers CPU usage.
The Real Game Changer Isn’t Zero Egress
The actual innovation EmDash brings to media-heavy sites isn’t free data transfer. It’s the architecture — serving content from the edge without spinning up a full server. That’s valuable. But it’s valuable in a different way than the marketing claims.
For a site that needs global CDN distribution, instant scaling, and no server management, EmDash’s stack (Workers + R2 + D1) is compelling. The zero egress is a bonus, not the headline.
Treat it as one piece of a cost puzzle, not a blanket solution. Model your actual traffic patterns, image sizes, and CPU needs before committing. The zero egress promise is real — but it’s surrounded by bills that aren’t zero at all.
- What is zero egress in EmDash CMS?Zero egress means Cloudflare's R2 object storage charges nothing for data transfer out, so serving images and videos costs no bandwidth fees.
- What hidden costs does EmDash have for media sites?EmDash bills for Workers (per request and CPU time), D1 (per row read/write), and KV (per operation), which add up quickly on high-traffic pages.
- When does zero egress actually save money?For small blogs with occasional images and under 50,000 visits per month, zero egress is genuinely cheaper, with total costs under $5/month.
- Should video platforms use EmDash?The article advises video platforms to avoid EmDash unless they actively monitor and cap Workers CPU usage, due to unpredictable compute costs.