Next-Level Code. Nexuvibe Style ...

Hrs
Min
Sec
Cloud Storage Cost Analysis & AWS Pricing

AWS S3 Egress Fees Calculator:
How Much You’re REALLY Paying Per Visitor

S3 storage costs look cheap on paper. Data transfer costs are what quietly scale with your traffic. This guide breaks down the real math and shows you what you are actually paying per visitor, per month.

11 min read
Updated 2026
Pricing & Cost Breakdown
AWS S3 egress fees real cost calculator for WordPress sites showing how much you pay per visitor for image delivery in 2026

Amazon S3 is one of the most widely recommended solutions for WordPress media offloading. The pitch is straightforward: move your media library to S3, pay a few cents per gigabyte of storage, and get your files off your hosting server. It sounds like the obvious choice, especially when the storage price looks so low on the AWS pricing page.

The storage price is not the problem. The egress fee is. AWS charges for every gigabyte of data transferred out of S3 to the internet. Every time a visitor loads a page on your WordPress site and their browser downloads your images from S3, that download costs you money. Not the storage. The delivery. And that cost scales directly with your traffic in a way that storage costs never do.

This guide walks through the actual math of S3 egress fees at different traffic levels, shows you what the real monthly cost looks like for a typical WordPress site or WooCommerce store, and explains why a flat-rate FTP alternative fundamentally changes the cost structure of WordPress media delivery.

What this guide covers
→Exactly how AWS S3 egress pricing works and why it is structured the way it is.
→Real cost calculations at 10,000, 50,000, and 100,000 monthly visitors with realistic image payloads.
→The hidden costs beyond egress that make S3 more expensive than the headline pricing suggests.
→How FTP-based media storage changes the cost model from variable to flat-rate.
→A side-by-side comparison that shows when S3 makes sense and when it becomes a liability.
→Why the best time to make the switch is before your traffic grows, not after.

How AWS S3 egress pricing actually works

AWS breaks its S3 pricing into several components. Storage is charged per gigabyte per month. API requests are charged per thousand operations. And data transfer out, which AWS calls egress, is charged per gigabyte transferred from S3 to the internet. The first 100GB per month is free. After that, the price is approximately $0.09 per GB for the first 10TB transferred, dropping slightly at higher volume tiers.

That $0.09 per GB number seems small. To understand why it is not, you need to think about it in terms of page loads rather than gigabytes. Every time a visitor loads a page with images, their browser downloads those images from S3. Each image transfer counts toward your egress total. And unlike storage costs, which are fixed and predictable, egress costs are variable and scale linearly with every additional visitor.

Why AWS charges for egress at all
Amazon’s data centers pay real costs to move data across internet backbones. Egress fees pass some of those costs to customers. This is not unique to AWS. Google Cloud and Azure have similar structures. What makes it matter for WordPress sites is that media files are delivered on every page load by every visitor, which makes egress one of the most frequent and highest-volume cost triggers in the entire AWS billing model.

The real math: what you pay at different traffic levels

Let us work through the numbers with realistic assumptions. A typical WordPress blog or content site serves images on every page. A reasonable estimate for a content site is that each page view involves downloading between 300KB and 800KB of images. We will use 500KB as our baseline, which is conservative for any site with real photography or product images. For a WooCommerce store with product galleries, the per-page image payload is typically higher, often 800KB to 1.5MB per page view.

Monthly visitors
Data transferred
S3 egress cost
FTP flat cost

10,000 / mo
~4.8 GB
~$0 (free tier)
$3–$5/mo flat

30,000 / mo
~14.4 GB
~$1.30/mo
$3–$5/mo flat

50,000 / mo
~24 GB
~$2.16/mo
$3–$5/mo flat

100,000 / mo
~48 GB
~$4.32/mo
$3–$5/mo flat

300,000 / mo
~144 GB
~$12.96/mo
$5–$10/mo flat

1,000,000 / mo
~480 GB
~$43.20/mo
$10–$20/mo flat

Assumes 500KB average image payload per page view, 1.5 pages/visit avg, S3 US East pricing at $0.09/GB after 100GB free tier. WooCommerce stores with product galleries typically run 2–3x higher payload.

Looking at this table, the S3 numbers do not look catastrophic at moderate traffic. But this is the conservative estimate with 500KB per page view. WooCommerce stores with product galleries, zoom images, and multiple product photos per page routinely deliver 1.5MB to 3MB of image data per page view. At 1.5MB per page view and 100,000 monthly visitors, your S3 egress bill alone reaches $13 to $20 a month, before any storage or API request charges.

At 300,000 monthly visitors with a 1.5MB image payload, you are looking at $38 to $58 a month in egress alone. That is before you add storage fees, GET request fees, and any CloudFront distribution costs if you are using AWS’s own CDN in front of S3 (which adds its own data transfer charges). The real monthly AWS bill for a media-heavy site at this traffic level can easily reach $60 to $90 once every cost component is counted.

🔗For WordPress sites struggling with AWS S3 egress fees, a Cloudflare R2 zero-egress storage comparison reveals cost-effective alternatives without traffic-based pricing. →

The hidden costs that do not appear in the headline pricing

Egress is the most significant variable cost, but it is not the only one. Understanding the full picture requires looking at several other AWS billing components that are easy to miss when comparing prices on a calculator.

GET request fees

Every time a visitor’s browser requests an image file from S3, that is a GET request. AWS charges $0.0004 per 1,000 GET requests. This sounds trivially small. A site with 50,000 monthly visitors loading 20 images per page generates 1,000,000 GET requests per month, which costs $0.40. Not huge, but it is real money that adds to the bill month after month and that is often overlooked in cost estimates.

Region-based pricing differences

The $0.09 per GB egress price applies to US East. S3 regions in Europe, Asia-Pacific, and South America have higher egress prices, ranging from $0.085 to $0.16 per GB. If your S3 bucket is in a region closer to your servers but not closest to your visitors, you pay higher egress rates than the baseline calculator suggests. Choosing the right region is not just a latency decision. It is a cost decision.

Intra-region transfer fees

If your WordPress hosting server and your S3 bucket are in different AWS regions, data transferred between them also incurs charges. This is relevant when your WordPress host is on a VPS in one region and you created your S3 bucket in a different region for latency reasons. AWS charges $0.02 per GB for data transferred between regions, which adds up during bulk media syncs and WP Offload Media plugin operations.

Plugin and setup complexity costs

Using S3 with WordPress requires configuring IAM roles, bucket policies, CORS settings, and a compatible plugin. The premium plugins that handle this well (WP Offload Media being the most popular) charge $99 to $299 per year depending on the license tier. That annual plugin cost is a fixed overhead that applies regardless of how little traffic you have. It is worth factoring into the total cost of the S3 approach, especially for smaller sites.

The WooCommerce multiplier: why stores pay more

For a WooCommerce store, the egress calculation changes significantly because product pages typically deliver more image data than content pages. A product page with a main image, four gallery images, two related product thumbnails, and a category banner easily delivers 1.5MB to 2.5MB of image data per page view. A customer who browses five products before purchasing generates 7.5MB to 12.5MB of image egress in a single session.

A real WooCommerce store example
Consider a WooCommerce store with 40,000 monthly visitors. Average session involves viewing 3 product pages with 1.8MB of image data per page. Total monthly image egress: 40,000 visits × 3 pages × 1.8MB = 216GB. At $0.09 per GB after the 100GB free tier: 116GB × $0.09 = $10.44 per month in egress alone. Add storage ($0.023 per GB per month for a 20GB library = $0.46), GET requests (~$0.60), and a pro plugin license amortized ($16/mo). Total monthly S3 cost: roughly $28. A comparable FTP storage plan with CDN delivery costs $4 to $8/mo total.

The variable cost problem is more dangerous than the average cost

Monthly averages are manageable. Spikes are not. The structural problem with S3 egress fees is not what you pay in a typical month. It is what you pay when something exceptional happens: a product goes viral on social media, a major publication links to your store, or you run a Black Friday sale that drives three times your normal traffic.

In a spike month with three times normal traffic, your S3 egress bill triples. If you are a store that normally pays $10 a month in egress and you have a viral moment, that month could generate $30 to $50 in egress charges. If your viral moment involves a high-image-payload page, the bill can be higher still. Unlike hosting plans that have fixed caps, S3 egress has no ceiling. It scales with every byte of image data delivered to every visitor.

According to AWS’s official S3 pricing page, there are no monthly caps on data transfer charges. You are billed for whatever you use. This is a predictable billing model for Amazon. It is an unpredictable cost model for you. A flat-rate FTP alternative costs the same whether you had 10,000 visitors or 100,000.


WP FTP Media dashboard showing flat-rate FTP media offload alternative to AWS S3 egress fees for WordPress and WooCommerce sites

Dashboard overview in WP FTP Media – flat-rate WordPress media offload plugin as a cost-effective S3 alternative for high-traffic sites — no egress fees, no surprise bills, no per-visitor pricing.

How FTP changes the cost model entirely

The fundamental difference between S3 and an FTP-based media storage approach is the pricing model, not the technology. S3 charges you per gigabyte of data transferred. FTP storage providers typically charge a flat monthly fee for a storage allocation. Once you have paid for your storage tier, there is no incremental charge for how many times those files are accessed.

When you pair FTP storage with a CDN for delivery, the CDN handles the actual serving of files to visitors. CDN providers like BunnyCDN, Cloudflare, and others offer either very low per-GB delivery pricing or flat-rate plans. BunnyCDN, for example, charges roughly $0.01 per GB for delivery from North American and European edge nodes, approximately ten times less per gigabyte than S3 egress. Cloudflare’s CDN in front of compatible storage has zero egress fees.

🔗While AWS S3 egress fees scale with traffic, unexpected WordPress hosting storage overage fees can silently inflate monthly costs by hundreds of dollars. →

The result is a cost structure where growth in traffic does not proportionally grow your media delivery cost. You pay for storage based on how many files you have. You pay for CDN delivery at a fraction of S3 egress rates. And you never receive a surprise invoice because a campaign or a piece of content performed well.


WP FTP Media CDN URL configuration panel for setting up zero-egress WordPress media delivery as an alternative to AWS S3 and CloudFront

CDN base URL settings in WP FTP Media – WordPress CDN media delivery plugin for replacing S3 and CloudFront with zero-egress storage — point your media to any CDN provider and escape per-visitor billing entirely.

When does S3 actually make sense?

It is worth being balanced here. S3 is not the wrong answer for every use case. There are specific situations where its advantages outweigh the egress cost structure.

S3 makes sense when you are already heavily invested in the AWS ecosystem and your team has the technical capacity to manage IAM policies, bucket configurations, and CloudFront distributions correctly. It makes sense for enterprise-scale applications where the operational benefits of deep AWS integration justify the cost and complexity. It makes sense when your media files are accessed infrequently, reducing egress to a small fraction of storage costs. And it makes sense in regulated industries where AWS’s compliance certifications and audit trails are a requirement rather than a nice-to-have.

What S3 does not make sense for is the typical WordPress or WooCommerce site owner who wants to offload their media library, reduce hosting pressure, and serve images faster without building and maintaining a cloud infrastructure stack. For that use case, the complexity is high, the plugin cost is real, and the egress fees grow with your success rather than staying flat.

🔗Agencies seeking to avoid escalating AWS egress fees are exploring WP Offload Media FTP migration benefits for cost-effective WordPress media offloading. →

Factor
AWS S3
FTP + CDN

Cost model
Variable per GB transferred
Flat monthly rate

Traffic spike cost
Scales linearly upward
No change

Setup complexity
High (IAM, CORS, policies)
Low (host + credentials)

Plugin cost
$99–$299/year
Lower or included

Bill predictability
Unpredictable
Fully predictable

Best for
Enterprise, AWS-integrated apps
WordPress, WooCommerce, agencies

The setup that avoids the egress trap entirely

The practical alternative to S3 for WordPress sites is a setup that combines a dedicated FTP or SFTP storage server with a CDN for delivery. The FTP server stores your files. The CDN delivers them. Your WordPress plugin handles the bridge between your site and this infrastructure by syncing files to the FTP destination and rewriting image URLs on output to point at your CDN.

This is what a plugin like WP FTP Media by NEXU WP is designed to enable. You configure your FTP or SFTP connection, set a CDN base URL, run the bulk sync of your existing library, and from that point forward, new uploads go to your FTP server automatically and visitors receive images from your CDN. The plugin does not touch your database. Your WordPress admin looks and works exactly as before.


WP FTP Media background sync mode for migrating WordPress media library away from AWS S3 to cost-effective FTP storage with flat-rate pricing

Background sync in WP FTP Media – WordPress S3 alternative plugin for migrating media to flat-rate FTP storage with background transfer support — run your library migration in the background without keeping a browser tab open.

The cost calculation changes entirely when you switch to this model. Instead of paying $0.09 per GB of egress that scales with every visitor, you pay a flat monthly fee for storage that stays the same regardless of traffic. A viral month is a good month, not an expensive one. Growth becomes something to celebrate rather than something to budget for nervously.

If your current setup involves S3 or you are evaluating S3 for the first time, running the egress math for your actual traffic and image payload is worth doing before you commit. The numbers at low traffic look fine. The numbers as you scale are where the S3 model starts to diverge from what a flat-rate FTP setup would cost. That divergence only grows as your site grows.

No Egress Fees · Flat Monthly Rate · CDN Delivery Included

Stop paying per visitor for media you already paid to store

WP FTP Media offloads your WordPress media to flat-rate FTP storage and serves it via any CDN, replacing the unpredictable S3 egress model with a fixed monthly cost that does not grow with your traffic.

WP FTP Media – WordPress S3 alternative plugin with flat-rate FTP storage and CDN media delivery

WP FTP Media by NEXU WP
WordPress plugin · No Egress Fees · Any CDN · FTP & SFTP


Get WP FTP Media

🔗For a deeper look at WordPress media offloading, see this related guide on WP Offload Media vs. WP FTP Media: Why S3 is Wasting Your Money in 2026. →

Picture of Mahdi Jabinpour

Mahdi Jabinpour

As a sales-driven developer and the founder of NexuWP, Mahdi focuses on building WordPress solutions that don't just work—they convert. From AI-powered bulk translation engines to high-efficiency media offloading, he helps business owners automate the "grind" so they can focus on global growth. He is a pioneer in integrating advanced LLMs into the WordPress workflow.

RELATED POSTS

RELATED POSTS

3 Reviews
Lisa Jones 6 months ago

This calculator really opened my eyes and not in a good way. at 50K visitors, the egress fees alone nearly tripled what I'd budgeted for media delivery. zero warning, just costs climbing with every page load.

Mansour jabinpour 6 months ago

I hear you this is exactly why we built the calculator, so there are no surprises. the guide includes a section on flat rate alternatives that might help avoid this kind of scaling

Daniel Jackson 6 months ago

Got this as a gift for a friend who's a musician running a small WooCommerce store for their merch. the calculator was kinda wild had no idea those S3 egress fees stacked up so fast once traffic actually starts rolling in. the free 100GB is cool and all, but after that, it's easy to see how costs could get out of hand real quick if you're not paying attention. definitely helpful to finally see the real numbers behind what they call "cheap" cloud storage. fingers crossed this keeps them from getting blindsided later!

mehdiadmin 6 months ago

That's exactly why we built this those fees add up faster than most realize, and it's easy to overlook until the bill arrives. hope it helps your friend plan ahead!

Richard Thompson 6 months ago

I picked this up for my sister who's running a tiny WooCommerce store, and the side by side cost breakdown of S3 vs. fTP was a total lifesaver. She had zero clue those egress fees could sneak up on her like that during busy seasons this literally saved her from a bill shock meltdown. one tiny thing: it'd be great if the guide spelled out exactly when S3 ends up being the cheaper option (like for those super low traffic sites where you're barely moving data). But honestly?

Please log in to leave a review.