Cloudflare Pages vs Netlify: choose for a small static site

Compare Cloudflare Pages and Netlify for a small static website: publishing, forms, current Free-plan limits, and a concrete credit example before choosing.

Beginner6 min read
In this guide

For a small site made of ready-to-serve pages, Cloudflare Pages is a sensible starting point when you mainly need hosting. Netlify is worth considering when its built-in form handling removes work you would otherwise have to do yourself. If your existing host already handles the site reliably and within your budget, neither is an automatic reason to move.

The main difference for this decision is how the free plans account for use, and what happens when your site needs more than files. This comparison uses public terms checked on October 2, 2026. It is not a speed benchmark or a claim that either service will suit every website.

First, check that your site fits this comparison

A static site is a collection of files such as HTML pages, stylesheets, and images. An Astro project built in static mode fits; so does a folder of hand-written HTML. A build turns source files into the folder that gets published, often named dist.

This comparison assumes one small informational site, one owner, and no customer login, database, or running WordPress installation. A contact form is the only possible extra. Static vs dynamic websites explains the boundary if you are unsure.

You do not need a paid plan simply because the site describes a business. You do need to check the provider’s terms and any features your particular site uses.

Compare the work and the limits

Cloudflare Pages Free and Netlify's current credit-based Free plan
DecisionCloudflare PagesNetlify
Publish changesGit integration can build after a push, with preview deployments.Git-based publishing and Deploy Previews are available.
Free allowance500 builds per month; one build at a time. Static asset requests are free and unlimited.300 credits per month, shared across metered use. Successful production deploys consume credits.
A basic contact formNeeds a handler or a separate service; a static HTML form alone does not store submissions.Netlify Forms can process a correctly configured HTML form; submissions are free on credit-based plans.
A limit to check early20,000 files on Free, with a maximum of 25 MiB per asset.Exhausting the credit balance pauses all projects in the team, not just the busiest one.
Server-side workPages Functions use separate Workers quotas and pricing.Functions and other metered services share the credit allowance.

These allowances are different units, not a claim that 500 builds equal 300 credits. See the Pages limits, Pages Functions pricing, and Netlify plan details for their boundaries.

What Netlify’s credits mean for one small site

Older articles may describe Netlify Free using build minutes and a separate bandwidth allowance. New accounts use credit-based plans. If you already have a legacy plan, check your own billing page before applying these figures or changing plans; moving to a credit-based plan is irreversible.

A deployment publishes a version of your site. A production deployment updates its main address, even when that is a supplied netlify.app address rather than your own domain. A Deploy Preview is a separate version for reviewing changes.

For a concrete example, assume that in one monthly billing cycle your team has one static site, four successful production deployments, 2 GB of delivered data, and 50,000 total web requests. There are no Functions, AI features, or other metered services in this example. These are illustrative usage inputs, not a traffic forecast.

Using the current credit rates:

  • Deployments: 4 × 15 = 60 credits.
  • Delivered data: 2 × 20 = 40 credits.
  • Requests: 50,000 ÷ 10,000 × 2 = 10 credits.
  • Total: 110 of the 300 monthly credits, leaving 190.

For those assumptions, Netlify Free’s hosting subscription is USD 0 per month. The spare credits are not a guarantee that your own site fits: an image, stylesheet, or redirect can also produce a request. Count requests, not just visitors. Extra projects draw from the same team balance.

Preview deployments do not incur the production-deploy charge, but that does not make every resource used while visiting previews unmetered. Keep an eye on actual usage. On Free, reaching the hard credit limit pauses the team’s sites until the allowance resets or you change to a suitable paid arrangement. It is worth knowing that failure mode before a site becomes business-critical.

A static-only Pages site does not use the same traffic credit calculation. Its free static requests do not make Functions or external services free. Neither comparison includes buying a custom domain; you can start with the provider’s supplied address. If you already own a domain, its renewal remains a separate existing cost, not a new hosting fee.

Does a form change your choice?

If visitors only read your pages, forms add no value to the decision. If the site needs enquiries, ask where a submitted message will actually go.

Netlify’s form setup documentation describes enabling form detection and adding the required HTML attributes. You still need to verify a submission and decide how you will read it or receive a notification; putting a form on the page is not the same as receiving enquiries.

Cloudflare’s Static Forms plugin is a building block for a handler, not an equivalent ready-made submissions inbox. If you already have a suitable form service, you may not need anything new. Otherwise, include the handler’s setup, storage, spam handling, and any service cost in your decision.

Make the choice, then test one page

  • Files only, no missing service: start with Pages Free, or stay on your suitable current host. Check the file and build limits before moving a large archive.
  • A small site needing an integrated form workflow: try Netlify Free if its credit allowance and pause behavior are acceptable. Test the form’s result, not just its appearance.
  • An existing Netlify site on a legacy plan: evaluate that actual plan first. Do not migrate plans just to match a comparison article.
  • A site needing logins, a database, or substantial server-side processing: price and check those features separately; this static-only example is no longer enough.

Before changing a live domain, deploy a non-sensitive copy to a provider-supplied address. This can still count as a production deployment. Open an inner page directly, check links and mobile layout, and test any form. Keep the old site available until those checks pass. This is a decision guide, not evidence that either provider’s deployment or form has been tested for your project.

← Back to comparisons guides