Cloudflare Pages

Unlimited bandwidth and requests for static sites on the free plan.

Free tier Static + edge platform

Free tier

Free: unlimited sites, seats, requests and bandwidth for static assets

  • Unlimited sites, seats, requests and bandwidth (static assets)
  • 500 builds/month, 1 build at a time, 20-minute build timeout
  • Up to 20,000 files per site, 25 MiB max per file, 100 custom domains per project
  • Server code (Pages Functions) counts against Workers Free: 100,000 requests/day

Paid

$5/mo: Workers Paid: $5/month minimum per account — 10M requests/month included, then $0.30 per extra million. Static asset requests stay free.

Catches

  • If your project has no top-level 404.html, Pages treats it as a single-page app and serves / for unknown paths automatically.

Deploying to Cloudflare Pages

Connect
Dashboard → Workers & Pages → Create → Pages → Connect to Git, choose the repository, pick the framework preset.
Build
React (Vite) preset: build command npm run build, build directory dist.
Env vars
Workers & Pages → your project → Settings → Environment variables
Domain
Your project → Custom domains → Set up a custom domain. Easiest if the domain's DNS is on Cloudflare (Cloudflare Registrar sells domains at cost).

Single-page app fallback

(none)
# No config needed: if there is no top-level 404.html,
# Cloudflare Pages serves index.html for unknown routes.
# If you DO ship a 404.html, add public/_redirects with:
/*  /index.html  200

Official docs (opens in a new tab)

Guides for Cloudflare Pages