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).
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. 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. 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. Connect your repositoryAuthorize Cloudflare to access GitHub and select the repo that holds your site.
- 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. 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. 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. 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.
- Builds: 500 per month, 1 at a time, each timing out after 20 minutes
- Site size: up to 20,000 files, max 25 MiB per file
- Domains and projects: 100 custom domains per project, 100 projects per account
- Static requests: free and unlimited
- Pages Functions (optional server-side code): share the Workers Free quota of 100,000 requests per day, reset at midnight UTC
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?
Do I need a build step or framework?
Is HTTPS / SSL included?
How much does a custom domain cost?
How long does a deploy take?
Can I deploy without GitHub?
What are the limits of the Cloudflare Pages free plan?
Cloudflare Pages or GitHub Pages — which is better for a free website?
Want the full hands-on version?
Drop your email and instantly download Chapter 1 of the Morgan Vault e-book (PDF) — the starting point of the full build-to-deploy workflow.
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 →