Vercel Free Tier Bandwidth Limit: What Counts and How to Stay Under
Static blog hit 180GB in 3 days on Vercel Hobby. Real bandwidth math, what triggers overages, and CDN fixes that kept the site online.
Tested on: Vercel Hobby, Hugo static export, May 2026 Trigger: Post hit HN front page. Unique visitors ~45k in 72 hours.
TL;DR
- Hobby plan: 100 GB/month bandwidth — images and assets count.
- Traffic spikes (HN, Reddit) can burn quota in days.
- Move images to Cloudflare R2/CDN or switch host for unlimited bandwidth.
What broke
Email from Vercel:
Your project exceeded 100 GB bandwidth usage on the Hobby plan.
Site still served — but warning said next overage could throttle or require Pro ($20/mo).
Hobby limits (what actually matters)
| Resource | Hobby limit |
|---|---|
| Bandwidth | 100 GB / month |
| Builds | 6,000 min / month |
| Serverless invocations | N/A for pure static |
| Image Optimization | 1,000 transforms |
Pure static HTML/CSS/JS counts every byte egress from Vercel edge. Images dominate.
My bandwidth autopsy
# Vercel dashboard → Usage → Bandwidth by path
/posts/big-tutorial/ 62 GB (unoptimized PNG hero)
/images/screenshots/ 41 GB
/assets/main.css 2 GB
One 2.4MB PNG × 25k views ≈ 60GB. Math checks out.
Fix #1: Move images off Vercel
Point <img> to Cloudflare R2 public bucket or GitHub raw with CDN:
<img src="https://cdn.example.com/hero.webp" width="800" height="450" loading="lazy">
HTML still on Vercel. Images on R2 — R2 egress to Cloudflare CDN is free.
Fix #2: WebP at build time
Hugo Pipes / sharp in CI — hero went 2.4MB → 180KB.
Fix #3: Cache headers (see separate article)
{
"headers": [
{
"source": "/images/(.*)",
"headers": [{ "key": "Cache-Control", "value": "public, max-age=31536000, immutable" }]
}
]
}
Repeat visitors don't re-download — saves bandwidth on returning traffic.
What does NOT count
- Local
vercel dev - Build artifact storage
- Deployments themselves
Monitoring
Set Vercel notification at 80% usage. I missed this until 98%.
Outcome
After CDN + WebP: same traffic spike handled ~22GB bandwidth. Stayed on Hobby.
Checklist
- Audit largest assets in Usage tab
- WebP/AVIF all content images
- Long-cache immutable assets
- Consider Cloudflare Pages if consistently image-heavy
FAQ
What is Vercel Hobby bandwidth limit?
100 GB per month on the free Hobby plan. All asset requests (images, JS, CSS) count toward bandwidth.
What happens when I exceed Vercel free bandwidth?
Site may be paused or throttled until next billing cycle, unless you upgrade to Pro.
Which free host has unlimited bandwidth for static sites?
Cloudflare Pages offers generous/unlimited fair-use bandwidth — popular choice for image-heavy or viral-prone blogs.