Morgan Vault › Guides › Deploy free on Cloudflare Pages
Guide · Free deploy

How to Deploy a Website for Free on Cloudflare Pages (7 Steps + Free-Plan Limits)

Push your site to GitHub, connect the repo in Cloudflare Pages, leave the build command empty, and it goes live on a free pages.dev address with automatic HTTPS — about 15 minutes, $0. The Free plan includes 500 builds a month and free, unlimited static-asset requests; the only optional cost is a custom domain (about $10/year, paid to a registrar).

By Morgan Wang · Updated
Short answer
How do you deploy a website for free on Cloudflare Pages?

Push your site files to a GitHub repo. Sign in to a free Cloudflare account, go to Workers & Pages → Create application → Pages → Connect to Git, and select your repo. For a plain static site, leave the build command empty and set the output directory to the folder containing index.html, then click Save and Deploy. In a minute or two the site is live at a free your-project.pages.dev address with automatic HTTPS. Every git push redeploys automatically. To use your own domain, add it under Custom domains — Cloudflare charges nothing to connect it; only the domain registration itself costs about $10/year.

7 steps to deploy a website on Cloudflare Pages for free

  1. 1. Put your site in a GitHub repoMake sure your website files (at least an index.html) are pushed to a GitHub repository. A public repo is fine and free.
  2. 2. Open Cloudflare PagesSign in to a free Cloudflare account, go to Workers & Pages, choose Create application, switch to the Pages tab, and click Connect to Git.
  3. 3. Connect your repositoryAuthorize Cloudflare to access GitHub and select the repo that holds your site.
  4. 4. Configure the buildFor a plain static HTML site: leave the build command empty and set the output directory to the folder containing index.html (the repo root for most simple sites). Click Save and Deploy.
  5. 5. Get your live URLCloudflare builds in a minute or two and serves the site at a free your-project.pages.dev address over a global CDN with automatic HTTPS.
  6. 6. Add a custom domain (optional)Under the project's Custom domains tab, add your own domain. Cloudflare provisions a free SSL certificate. Domain registration costs about $10/year; Cloudflare charges nothing to connect it.
  7. 7. Auto-deploy on every pushFrom now on, every git push to the connected branch triggers a new build and deploy automatically — no manual upload.

Is Cloudflare Pages really free? The Free-plan limits (2026)

Yes, for a static site. Cloudflare's documentation states that requests to static assets are free and unlimited on both the Free and paid plans, and HTTPS is included. What the Free plan does cap is how often you build and how big the site can be — the numbers below come from Cloudflare's own limits page. The only thing you may pay for is a custom domain, and that money goes to a domain registrar, not to Cloudflare.

Source: Cloudflare Docs — Pages limits and Pages Functions pricing, checked 2026-09-12. Limits can change; check those pages before relying on a number.

Cloudflare Pages free hosting: FAQ

Is Cloudflare Pages really free?
Yes. Static-asset requests are free and unlimited, and the Free plan includes 500 builds per month, free automatic HTTPS, and Cloudflare's global network. Personal and small static sites typically never pay anything.
Do I need a build step or framework?
No. For a plain HTML/CSS/JS site, leave the build command empty and point the output directory at the folder containing index.html. Frameworks like Next.js or Astro are supported but not required.
Is HTTPS / SSL included?
Yes. Free SSL is provisioned automatically for both the default pages.dev address and any custom domain you connect. You never configure certificates by hand.
How much does a custom domain cost?
Cloudflare charges nothing to connect a custom domain to a Pages project. You only pay to register the domain itself — typically about $10/year from any registrar.
How long does a deploy take?
A static-site build usually finishes in one to two minutes. Once built, it propagates to Cloudflare's global edge within seconds.
Can I deploy without GitHub?
Yes. Cloudflare Pages supports direct upload and the Wrangler CLI. But connecting a GitHub repo is recommended because it gives you automatic redeploys on every push.
What are the limits of the Cloudflare Pages free plan?
Per Cloudflare's docs: 500 builds per month, 1 concurrent build, a 20-minute build timeout, up to 20,000 files per site, 25 MiB per file, 100 custom domains per project, and 100 projects per account. Static requests are unlimited; Pages Functions share the Workers Free quota of 100,000 requests per day.
Cloudflare Pages or GitHub Pages — which is better for a free website?
Both host static sites for free. GitHub's docs list a 1 GB site-size cap, a soft bandwidth limit of 100 GB per month, and a soft limit of 10 builds per hour, and state that GitHub Pages is not allowed as free hosting for an online business, e-commerce site, or SaaS. Cloudflare Pages caps builds (500 a month) and files (20,000) instead, with unlimited static requests — so if the site supports a business, read GitHub's policy first.

Want the whole path to building a site?

The full 200-page hands-on e-book: from your first line of HTML to deployment, SEO/AEO, 16+ languages, subscriber collection, and traffic strategy. Includes copy-pasteable scripts and AI prompt templates. 16 languages.

See the e-book bundle — $39.90 →