Alternatives

6 free alternatives to Cloudflare Pages

Cloudflare Pages stays free for as long as your account exists, and the free plan has no bandwidth cap at all. The limit that actually bites is on the build side: one build running at a time and 500 builds a month per account. Move on once a team's push volume outruns that queue, or once you need a project count or file size past what Cloudflare allows.

Category: Static Site HostingVerified

Where Cloudflare Pages's free tier stops

Cloudflare Pages gives every project unlimited sites, unlimited static requests, and unlimited bandwidth on the free plan, which is unusual among static hosts. The build pipeline is the part that has real numbers attached: 500 builds a month, one build at a time, and a 20 minute timeout per build. A project can carry up to 100 custom domains and 100 projects fit on one account. Each deployed site tops out at 20,000 files, with a 25 MiB limit on any single file. Preview deployments and the number of users on a site are both unlimited.

Switch table

Cloudflare PagesGitHub PagesFirebase HostingSurgeNetlifyNeocitiesAzure Static Web Apps
Free plan durationYes, no stated expirationYes, no stated expirationYes, no stated expiration (Spark plan)Yes, no stated expirationYes, 300 credits/moYes, no stated expirationYes, no stated expiration
Monthly build allowance500 builds/mo, 1 build at a time, 20 min timeout10 builds/hour soft limit (no cap via custom GitHub Actions)Not applicable, no build pipelineUnlimited publishing1 concurrent build, credits shared with other usageNot applicable, no build pipelineNot applicable, no build-count quota stated
BandwidthUnlimited100 GB/mo soft limit360 MB/dayNot statedIncluded in the credit pool200 GB/mo100 GB/mo per subscription
Storage / file limit20,000 files/site, 25 MiB max file size1 GB published site limit10 GB storageNot statedIncluded in the credit pool1 GB storage0.5 GB storage, 0.25 GB per app deployment
Custom domains100 per project (100 projects/account)Custom domain via CNAME, one site per accountCustom domain supported, multiple sites per projectCustom domain includedCustom domains with SSLNot applicable, subdomain hosting2 per app
First paid tierPro, $20/mo billed annuallyNo paid planBlaze, pay as you go, no monthly base feeSurge Professional, $30/moPersonal, $9/moSupporter, $5/moStandard, metered per app, no flat monthly figure listed
Card required-UnknownNoUnknownUnknownUnknownUnknown
First paid tier-No paid planBlaze, pay as you goSurge Professional, $30/moPersonal, $9/moSupporter, $5/moStandard, metered per app

The alternatives

GitHub Pages

FTV 90 / 100

GitHub Pages skips the build-quota question by keeping its limits small and simple: one user or organization site per account, plus unlimited project sites, with a soft cap of 100 GB of bandwidth a month and 10 builds an hour unless a repo runs its own GitHub Actions workflow instead. That trade suits a personal site, a project's docs, or a small portfolio that publishes straight from a repo and rarely redeploys more than a few times an hour. It loses to Cloudflare Pages on raw headroom: 10 builds an hour is a real ceiling for a busy team pushing frequent commits, where Cloudflare's 500 builds a month spread across one build at a time gives more room before you hit it. Pick GitHub Pages if your project already lives in a GitHub repo and you want the shortest path from a push to a live page.

  • Beats Cloudflare Pages: No stated project limit on custom domains or file count, and a source repo you already control
  • Falls short: A 10 builds per hour soft limit, tighter than Cloudflare's monthly build allowance for a team that redeploys often
  • Who should switch: Switch to GitHub Pages if your site already lives in a GitHub repo and you publish it without a heavy CI pipeline.

Firebase Hosting

FTV 52 / 100

Firebase Hosting's Spark plan gives 10 GB of storage and 360 MB of data transfer a day, with support for multiple sites under one project and no payment method required to start. That daily transfer figure is the number to watch: it resets every day rather than every month, so a site with a steady trickle of daily visitors fits comfortably, while a single traffic spike can burn the day's allowance fast. It loses to Cloudflare Pages on bandwidth shape: Cloudflare puts no cap on bandwidth at all, where Firebase measures it daily and in low hundreds of megabytes. Pick Firebase Hosting if the site is already part of a Firebase project and its daily traffic stays well under 360 MB.

  • Beats Cloudflare Pages: 10 GB of storage on the Spark plan
  • Falls short: A 360 MB per day transfer cap, against Cloudflare's unlimited bandwidth
  • Who should switch: Switch to Firebase Hosting if you already use Firebase for a database or auth and want the static frontend on the same project.

Surge

FTV 47 / 100

Surge's free plan is unlimited publishing with a custom domain and basic SSL included, and nothing else to configure. There is no monthly build count, no file cap stated, and no separate preview environment; you push a static folder from the command line and it is live. That makes it the simplest option here for a single static site pushed by hand or from a script. It loses to Cloudflare Pages on everything past publishing itself: no CDN detail, no preview deployment system, and no stated file or project ceiling to plan against. Pick Surge if you want the smallest possible command-line workflow for one static folder.

  • Beats Cloudflare Pages: Unlimited publishing with no monthly build count to track
  • Falls short: No preview deployment system and no stated storage or file ceiling
  • Who should switch: Switch to Surge if you want to publish a static folder from the command line with the least setup.

Netlify

FTV 43 / 100

Netlify's free plan runs on a monthly credit system, 300 credits included, rather than separate named quotas for bandwidth, builds, and functions. That covers unlimited deploy previews, a global CDN, and one concurrent build, with the credits spent across whichever mix of hosting, functions, and edge features a project actually uses. It loses to Cloudflare Pages on build concurrency specifically: Cloudflare also allows one build at a time, but Netlify's credit system means a heavy month of serverless function calls can eat into the same pool a busy build schedule draws from, where Cloudflare's build allowance and bandwidth are counted separately. Pick Netlify if the project needs serverless functions or edge logic alongside static hosting, not just a static build pipeline.

  • Beats Cloudflare Pages: 300 monthly credits that cover functions and edge logic, not just static hosting
  • Falls short: One concurrent build, and functions usage draws from the same credit pool as hosting
  • Who should switch: Switch to Netlify if the project needs serverless functions or edge middleware next to the static site, not a pure static build.

Neocities

FTV 39 / 100

Neocities gives 1 GB of storage and 200 GB of bandwidth on its free plan, along with a subdomain, SSL, a CDN, and a set of community features like site profiles and a follow system built around the platform itself. It is built for hand-built HTML sites and small personal pages rather than a git-driven build pipeline, so there is no CI concept to compare against Cloudflare's build allowance at all. It loses to Cloudflare Pages the moment a project needs a real deploy pipeline from a repository, since Neocities has no equivalent to builds, previews, or custom domain counts tied to a project. Pick Neocities if the site is a small hand-edited page and the community features around hosting matter as much as the hosting itself.

  • Beats Cloudflare Pages: 200 GB of bandwidth on the free plan, plus built-in community and discovery features
  • Falls short: No git-based build pipeline, previews, or per-project custom domain allowance
  • Who should switch: Switch to Neocities if you want a small hand-built page with a community around it, not a repo-driven deploy pipeline.

Azure Static Web Apps' free tier includes 100 GB of bandwidth per subscription, 0.5 GB of storage with a 0.25 GB cap per app deployment, and 2 custom domains per app. The bandwidth figure is shared across every app in the subscription rather than granted per project, so a subscription running several small sites splits that 100 GB between them. It loses to Cloudflare Pages on almost every axis here: Cloudflare's per-account build allowance, unlimited bandwidth, and 100 custom domains per project are each larger than Azure's equivalent. Pick Azure Static Web Apps only if the project is already inside an Azure subscription and needs to sit next to other Azure services.

  • Beats Cloudflare Pages: Native integration with other Azure services inside the same subscription
  • Falls short: A 100 GB bandwidth pool shared across the whole subscription and just 2 custom domains per app
  • Who should switch: Switch to Azure Static Web Apps only if the site needs to live alongside other services already running in the same Azure subscription.

Two quick picks

Closest drop-in

GitHub Pages

GitHub Pages is the closest swap for anyone whose Cloudflare Pages usage was a straightforward static site pushed from a repo. It replaces Cloudflare's build allowance with a simpler soft limit, keeps the project free with no stated expiration, and needs no new account if the project already lives on GitHub.

Most free headroom

Neocities

Neocities wins on bandwidth alone: 200 GB a month on the free plan, well past what any of the other alternatives here state, in exchange for giving up the git-based build pipeline Cloudflare Pages and GitHub Pages both offer.

Frequently asked questions

Does Cloudflare Pages' free plan expire?

No. The free plan has no stated expiration and stays free for as long as the account exists. The build allowance (500 builds a month, one at a time) is the part that resets and can be hit, not the plan itself.

What happens when a project goes past Cloudflare Pages' build limit?

Cloudflare queues or rejects further builds once you hit 500 in a month or already have one build running, since the free plan allows only one concurrent build.

Which alternative is closest to Cloudflare Pages?

GitHub Pages is the closest match for a repo-driven static site: both stay free indefinitely and publish straight from a git push, though GitHub Pages measures its limits in bandwidth and builds per hour rather than builds per month.

Which alternative has the most bandwidth headroom?

Neocities, at 200 GB a month on its free plan, ahead of Azure Static Web Apps' 100 GB and Firebase Hosting's 360 MB per day.

Which alternative includes serverless functions, not just static hosting?

Netlify. Its 300 monthly credits cover functions and edge logic alongside static hosting, where GitHub Pages, Surge, and Neocities publish static files only.

Bottom line

GitHub Pages is the safest general swap for a repo-driven static site: free with no expiration, and simple enough to set up in minutes if the project already lives on GitHub. If bandwidth is the constraint that pushed you off Cloudflare Pages, Neocities' 200 GB free allowance is the largest of the group, though it means giving up the build pipeline both Cloudflare and GitHub offer.

Read the full listing for Cloudflare Pages. Scores use the FTV methodology at /ftv. Browse more alternatives on /alternatives, or head-to-head comparisons on /compare.