Compare
JavaScript CDN Latency in 2026: cdnjs vs jsDelivr vs unpkg Benchmarked
JavaScript CDN Latency in 2026: cdnjs vs jsDelivr vs unpkg The single most useful number in our Q1–Q2 2026 JavaScript ...
The Cloudflare free plan has no bandwidth cap, and that single fact is responsible for more architectural confusion than anything else in edge delivery. As of 2026, you can push terabytes of cached static assets through a free zone and never see an invoice — until someone reads Section 2.8 of the Self-Serve Subscription Agreement and realises "non-HTML content" is the tripwire, not gigabytes. This article gives you the actual limits of the Cloudflare free plan, the three measurable thresholds that justify paying $25 or $250 per domain per month, and the cost model that tells you when neither answer is correct and you should be buying bandwidth by the terabyte instead.

Understanding cloudflare free vs paid starts with recognising that the free tier is not a trial. It is a fully functional anycast reverse proxy with unmetered mitigation, universal TLS, HTTP/3, Brotli, tiered caching disabled by default, and a shared certificate covering the apex plus one wildcard level. For a static site, documentation portal, or marketing front end, it is production-grade delivery at zero cost.
The constraints that matter are not the ones in the pricing table. They are operational:
The cloudflare free limits nobody reads until it hurts: the Self-Serve agreement restricts using the service primarily to serve video or large non-HTML files. There is no published gigabyte number. Enforcement is discretionary and has historically arrived as an email asking you to move to Stream, upgrade, or leave. Plan around that ambiguity rather than betting a launch on it.
Pricing is per zone, per month, and has been stable through Q1 2026 on the self-serve tiers.
| Plan | Price (2026) | The one thing you are really paying for |
|---|---|---|
| Free | $0 | Anycast delivery and TLS with no bandwidth meter |
| Pro | $25/zone/mo (~$20 annual) | Cache Analytics and image optimisation |
| Business | $250/zone/mo | Custom certificates, prioritised support, 100% uptime SLA |
| Enterprise | Custom, commonly $5,000+/mo | Contractual bandwidth terms, Logpush, custom cache keys |
For a tier-by-tier feature breakdown across Pro and Business, we cover that separately. This page stays on the single question: upgrade from free, or not.
Instrument this. Count the minutes you spend guessing at cache behaviour from origin logs because the free dashboard will not tell you the hit ratio for a specific path prefix. At a loaded engineering cost of $80 to $150 per hour in 2026, one hour of monthly cache archaeology exceeds the $25 Pro fee. Cache Analytics is the highest-ROI single feature in the entire self-serve ladder, and it is the reason most teams cross from free to paid.
When engineers start encoding cache policy in origin response headers because they have run out of rule slots, the free plan has become technical debt. Header-driven cache control is defensible architecture; header-driven cache control adopted under duress is not. Pro roughly quadruples the rules allocation, Business roughly quadruples it again.
Business is the first tier with a contractual uptime commitment and the first that lets you upload your own certificate. If a checkout flow, an authenticated API, or a partner integration pinned to your CA chain generates more than $250 of monthly risk, the math closes itself. If it does not, $250 per zone per month buys you comfort, not capability.
The inverse case is worth stating plainly: if you run a static marketing site, a docs portal, or an internal tool, no version of cloudflare free vs paid arithmetic favours upgrading. Free is the correct engineering answer, and paying $25 to feel professional is a tax on nothing.
Here is the angle the mainstream comparisons skip. Cloudflare's self-serve pricing is per zone. Your architecture is probably not per zone.
Run twelve regional domains for a media brand and Business becomes $3,000 per month before you have bought a single feature you did not already have on the first zone. Run forty white-label customer domains as a SaaS and Pro alone is $1,000 per month for capability that costs Cloudflare nothing incremental. This is the point where teams either negotiate Enterprise (where domain count folds into a contract) or split the workload.
The split pattern that works in 2026: keep HTML, DNS, and edge logic on Cloudflare free or Pro per zone, and move the heavy non-HTML traffic — video segments, installers, game patches, model weights, large image derivatives — onto a metered CDN on a dedicated asset hostname. You stay inside the Self-Serve agreement, you get real per-object analytics on the bytes that actually cost money, and you stop paying per domain for delivery.
Assume a software distributor pushing 60 TB monthly of installers and patches across eight zones. Cloudflare self-serve does not price this workload at all; Business across eight zones is $2,000 per month and still leaves you inside the non-HTML restriction, so Enterprise is the honest comparison at a common floor of $5,000 or more.
Metered alternatives at 60 TB, 2026 list pricing: Bunny.net's volume tiers and CDN77's committed plans both land in the low-to-mid hundreds for this profile and are genuinely strong choices — Bunny for developer ergonomics and per-region pricing transparency, CDN77 for European throughput and a mature streaming stack. BlazingCDN's volume pricing puts 60 TB inside the $350 tier covering up to 100 TB, with additional gigabytes at $0.0035. At the top of the ladder, 2,000 TB runs $4,000 per month, or $0.002 per gigabyte, and entry-level volume starts at $5 per TB. Fault tolerance and stability sit in the same class as Amazon CloudFront while the per-terabyte cost is materially lower, which is why the pattern lands well with enterprises whose byte volume, not domain count, is the cost driver. NVMe SSD edge storage, 100% uptime, per-zone configuration flexibility, and same-day onboarding are the practical differences you feel in week one.
The honest trade-off: Cloudflare's free plan gives you edge compute, DNS, and a control plane that no pure delivery CDN matches. Do not replace it. Decompose it.
No metered bandwidth cap exists on the Cloudflare free plan as of 2026. The binding constraint is the Self-Serve agreement's restriction on using the service primarily to distribute video or other large non-HTML files. There is no published gigabyte threshold, and enforcement is discretionary.
It is worth it the moment Cache Analytics or image optimisation saves you more than one engineer-hour per month, which is the typical break-even at 2026 labour rates. For static sites with a stable cache hit ratio above 95 percent, Pro adds observability you will rarely open. Instrument your time spent on cache debugging for one month before deciding.
Sampled analytics with short retention, a single-digit rules allocation per category, the two-hour minimum Edge Cache TTL, and the absence of automatic image format conversion. Certificate customisation is the fourth wall, and it only opens at Business.
Yes, and plenty of production sites do. The caveats are no uptime SLA, no prioritised support path during an incident, and no contractual position if you need to escalate. If an hour of downtime costs real revenue, buy the SLA.
Unmetered network-layer mitigation is included on every tier, including free, and that has been consistent policy for years. What paid tiers add is granularity of control and visibility into what was mitigated, not the mitigation capacity itself.
When your cost driver is bytes rather than features, and especially when you operate many zones. Above roughly 20 TB per month of non-HTML assets, per-terabyte pricing from $5 down to $2 per TB at the 2 PB tier beats per-domain licensing by an order of magnitude. Keep HTML and edge logic on Cloudflare, move the heavy objects to a metered origin-pull hostname.
Spend twenty minutes this week doing one thing: pull thirty days of origin egress from your cloud provider's billing export and split it by content type. If more than 60 percent of your bytes are non-HTML, no Cloudflare plan tier is the decision in front of you — the split-hostname pattern is. If it is under 20 percent and you have spent any time this quarter guessing at cache behaviour, Pro pays for itself before the next invoice.
Then answer this for your own stack: what would break first if your free zone were rate-limited tomorrow, and how long would it take you to notice without Cache Analytics? If you cannot answer in under a minute, that is your upgrade signal.
Compare
JavaScript CDN Latency in 2026: cdnjs vs jsDelivr vs unpkg The single most useful number in our Q1–Q2 2026 JavaScript ...
Learn
Evaluated January 2026: serve AVIF first, keep WebP as the fallback, and keep HEIF out of your delivery path entirely. ...