Introduction

Cloudflare already sits in front of my VPS — it's doing DNS and proxying for the AlmaLinux box behind Caddy, and I never gave much thought to what else was bundled into that same free account. Turns out "free" undersells it badly. A free Cloudflare signup gets you DNS, CDN, DDoS protection, a web application firewall, analytics, and a full serverless development platform, no credit card required.

Here's the part that trips people up: a free Cloudflare account is actually two separate free plans stacked on top of each other. There's the zone plan — what most people mean when they say "Cloudflare free," the thing that protects and speeds up a website. And there's Workers Free, which gives you edge compute, hosting, storage, and databases. They have independent limits, upgrade independently, and most personal projects never need to touch either paywall.

I went through both plans limit by limit and verified everything against Cloudflare's current docs. Here's what you get, exactly where the walls are, and what you can realistically run on $0.

The Two Free Plans in One Account

Sign up once, and you get both plans simultaneously:

Plan What it covers Limit style
Free zone plan DNS, CDN, SSL, WAF, DDoS, caching, analytics for one domain Per-zone feature quotas
Workers Free Workers, Pages, KV, D1, R2, Queues, AI Daily and monthly usage caps

Upgrading one doesn't touch the other. You could run a site on the Free zone plan with a paid Workers subscription, or the reverse. For a homelab or side-project setup, you'll likely never need either upgrade.

Protecting and Accelerating a Website

DNS

Cloudflare's DNS is fast and completely unmetered — there's no cap on query volume on Free. The record count is where people get surprised:

  • 200 DNS records per zone for domains added on or after September 1, 2024
  • 1,000 records for zones created before that date

If you're migrating a large existing zone file, 200 fills up faster than you'd expect. For a typical site running A, AAAA, CNAME, MX, and TXT records, it's plenty.

CDN and Performance

Once a DNS record is proxied (the orange cloud), static assets get served from Cloudflare's edge:

  • Unmetered bandwidth, unlimited cached requests
  • HTTP/2 and HTTP/3
  • Automatic HTTPS rewrites, Brotli/Gzip compression
  • Max cacheable object size: 512 MB

DDoS Protection

Unmetered Layer 3/4 and Layer 7 DDoS mitigation runs on every request, free plan included. There's no separate "DDoS tier" to buy — it's the same network absorbing attacks for enterprise customers.

SSL/TLS

Free Universal SSL certificates are issued automatically for every proxied domain and renew on their own. You get full control over encryption mode (Off, Flexible, Full, Full Strict), Always Use HTTPS, TLS 1.2/1.3 minimums, and opportunistic encryption.

Web Application Firewall

The WAF is real on Free, just trimmed down:

Feature Free plan
Managed rules Free Managed Ruleset only (on by default)
Custom rules 5, no regular expressions
Rate limiting rules 1 rule, 10-second counting window
Request body inspection Up to 1 MB

The Free Managed Ruleset covers high-impact, widely-exploited patterns — SQLi, XSS, directory traversal — with zero config. Spend your 5 custom rules on login endpoints and admin paths; that's where they earn their keep.

Bot Protection

Bot Fight Mode is a free on/off toggle that challenges known bot traffic. The catch: it's not customizable, and you can't exempt your own automation — monitoring, CI, payment callbacks. If legitimate automation gets caught in it, your options are disable it entirely or upgrade to Super Bot Fight Mode on Pro.

Caching and Traffic Rules

Cloudflare replaced most of legacy Page Rules with a modern rules engine. Free plan quotas:

Rule type Free limit Typical use
Cache Rules 10 Cache HTML, set TTLs, custom cache keys
Configuration Rules 10 Toggle features per path
Single Redirects 10 per zone Edge URL redirects
Bulk Redirects 10,000 URLs across 5 lists Large redirect maps
Page Rules (legacy) 3 Old-style URL pattern rules
WAF custom rules 5 Block/challenge traffic
Snippets 0 Paid only

Combined, Free gets 65 rules per zone across the new rules engine — a big jump from the 3 Page Rules era. Cache purge is capped at 5 requests per minute.

In practice: you can cache aggressively, redirect at the edge, and ship a reasonable security policy without paying anything. The gaps are no regex in WAF custom rules and no response-header or body transformations beyond what a rule's own settings expose.

Analytics, Forms, and Email

Web Analytics

Web Analytics is free and privacy-first — no cookies, no data resale, and it works even on pages not hosted on Cloudflare (10 sites via JS snippet on Free, unlimited for proxied sites). Retention is 30 days on every plan.

Turnstile

Cloudflare's free CAPTCHA alternative: up to 20 widgets, unlimited challenge requests, 7 days of widget analytics. It solves the "prove you're human" problem on contact forms and logins without reCAPTCHA's friction or privacy baggage.

Email Routing

Free email forwarding for your domain. Cloudflare adds the TXT and MX records automatically — these count against your DNS record quota. Useful for a [email protected] that forwards straight to Gmail.

Zaraz and AI Gateway

Zaraz (load third-party scripts outside the browser, one line of code) and AI Gateway (caching, analytics, and rate limiting for LLM API calls) are both on every plan, Free included.

Build and Host on the Developer Platform

This is where the free tier stops looking like a CDN add-on and starts looking like a real platform.

Pages — Static Hosting

Limit Free
Sites Unlimited
Bandwidth / static requests Unlimited
Builds 500/month, 1 concurrent, 20 min timeout
Files per site 20,000 (25 MiB max per file)
Custom domains 100 per project
Projects 100 per account

A blog, portfolio, or docs site costs $0 forever, with preview deployments on every push included.

Workers — Edge Compute

Limit Free
Requests 100,000/day (resets 00:00 UTC; exceeding it returns Error 1027)
CPU time 10 ms per invocation
Memory 128 MB
Subrequests 50 per request
Workers per account 100
Cron Triggers 5 per Worker
Workers Logs 200,000 events/day, 3 days retention

Pages Functions draw from the same 100,000/day Workers quota — static asset requests don't count against it.

The 10 ms CPU limit is the real ceiling to design around: fine for routing, redirects, auth checks, and light API glue, not for anything CPU-heavy. Heavy computation belongs in a queue consumer on the paid plan or on your own box.

Storage and Data

Product Free limits
Workers KV 100k reads/day, 1k writes/day, 1k deletes/day, 1 GB stored
D1 (SQLite) 5M rows read/day, 100k rows written/day, 5 GB total (500 MB/DB), 10 databases, 7 days Time Travel
R2 (object storage) 10 GB storage, 1M Class A ops/month, 10M Class B ops/month, $0 egress
Durable Objects (SQLite backend) 100k requests/day, 13,000 GB-s/day, 5 GB stored
Queues 10,000 operations/day, 24-hour retention
Hyperdrive 100,000 queries/day (accelerates an existing Postgres/MySQL)
Workflows 3,000 steps/day, 1 GB-month storage

Two things here matter more than the rest of the table:

  1. R2 has zero egress fees at every tier. Store 10 GB, serve it to the whole internet, pay nothing for the transfer. That's the main reason to reach for R2 over S3 on a small project.
  2. D1 now hard-enforces its daily row limits. As of September 1, 2026, Cloudflare started failing queries outright once an account crosses 5 million rows read or 100,000 rows written in a day — previously this was softer. Queries return errors via both the Workers Binding API and the REST API until the midnight UTC reset; your stored data isn't touched. If you're running anything on D1 that sees real traffic, it's worth checking rows_read / rows_written in the dashboard before you get surprised, and adding indexes where you're seeing full table scans.

Workers AI

Every account gets 10,000 Neurons per day for free — enough for light text-generation and embedding workloads. Some of the larger models need Workers Paid, and separate rate limits (300 req/min for text generation) apply on top of the Neuron budget.

Not free, any plan: Vectorize, Containers, Logpush, Snippets, and KV-backed Durable Objects.

What You Can Realistically Build on $0

  1. A blog or portfolio — Pages + custom domain + Web Analytics + Turnstile on the comments form. Unlimited bandwidth, 500 builds/month.
  2. A protected existing site — point DNS at Cloudflare and get CDN, free SSL, DDoS protection, WAF, Bot Fight Mode, and edge redirects for nothing. This is close to what I'm already running in front of my own VPS.
  3. A serverless API — Workers + D1 + KV. Inside 100k requests/day and 10 ms CPU, this comfortably handles a small API, webhook receiver, or URL shortener.
  4. An image/file CDN — an R2 bucket on a public r2.dev or custom domain. 10 GB storage, zero egress.
  5. A scheduled job — Cron Trigger + Worker (5 triggers, 10 ms each) for daily reports, syncs, or monitoring checks.
  6. A password-protected staging site — Pages + Cloudflare Access, free for up to 50 users.
  7. A small AI feature — Workers AI's 10,000 free Neurons/day behind a Worker, for summarization, classification, or embeddings.

Where the Free Tier Stops

Know these before you build around them:

  • 10 ms CPU per Worker request — no image processing, no heavy parsing, no long-running work in a request handler
  • 100,000 Worker requests/day — resets 00:00 UTC; a traffic spike ends in Error 1027, not a surprise bill
  • D1's daily row limits — enforced since September 2026, not advisory; queries fail until reset
  • No regex in WAF custom rules — 5 rules, expression builder only
  • Bot Fight Mode is all-or-nothing — can't exempt monitoring or payment traffic
  • No image optimization — Polish, Mirage, and the full managed WAF ruleset are Pro features ($20–25/month per zone)
  • No paid-grade support — community forum and docs only
  • Cache purge capped at 5/minute — fine for small sites, annoying for high-churn media

Cloudflare doesn't bill you for crossing these limits — it blocks or throttles instead. That's part of what makes the free tier reasonable to run in production: the worst case is an error page, not an invoice.

When to Upgrade

Two cheap upgrades cover nearly everything above:

Upgrade Price Unlocks
Workers Paid $5/month (per account) 10M requests + 30M CPU-ms/month included, 30s–5min CPU per request, higher KV/D1/R2/Queues quotas, Vectorize
Cloudflare Pro $20/month annual ($25 monthly), per zone Managed WAF ruleset, Super Bot Fight Mode, image optimization, 5,000 Pages builds, priority support

Rule of thumb: upgrade Workers first when your API outgrows 100k requests/day or the 10 ms CPU ceiling. Upgrade Pro only once you actually need tunable bot management, image optimization, or the full WAF ruleset.

Conclusion

A free Cloudflare account buys a lot more than a CDN in front of your site. You get production-grade DNS, unmetered DDoS protection, free SSL, a working WAF, privacy-first analytics, CAPTCHA-free bot checks, and a serverless platform with hosting, compute, SQL, key-value storage, object storage, queues, and AI — all on one account, no card required.

The limits are real, but they're predictable: 100,000 Worker requests a day, 10 ms of CPU, 10 GB of object storage, 5 GB of database. For personal sites, side projects, internal tools, and small APIs, you're unlikely to hit most of them. Start free, learn where the walls actually are, and spend the $5 only when a specific number tells you to.


Sources: Cloudflare developer documentation (Workers, Pages, D1, R2, KV, WAF, Rules, Turnstile), Cloudflare's plans page, and Cloudflare's changelog — verified October 2026.