AI Tool Reviews What does the free plan actually let you keep?

Static Hosting Platform Reviews

Can a free static host send you a surprise bill?

We do not currently have an affiliate relationship with any product on this page, and no vendor paid for placement or review. Outbound product links are marked nofollow.

The Short Answer

  • Netlify — Netlify says its free plan has hard monthly limits that "cannot be exceeded or incur any costs"; when a project reaches one, every project on the account pauses until the next cycle.
  • Vercel — Vercel says Hobby has no billing cycle and that, "in most cases," an exceeded feature waits 30 days to return; the same policy restricts Hobby to non-commercial personal use.
  • GitHub Pages — GitHub Pages documents soft limits and says an over-quota site may not be served or may receive a support email; Pages itself has no usage tier that can bill an overage.
  • Cloudflare Pages — Cloudflare states unlimited static bandwidth and 500 free builds a month, but its published limits do not say whether the next build is blocked, queued, throttled or requires an upgrade.
Product Best for From Free plan When free limits are hit
Netlify The one explicit promise: hard limit, no charge $9/mo Yes Stops, no charge
Vercel A free ceiling, but only for personal non-commercial work $20/mo Yes No charge, outcome varies
GitHub Pages No overage product, and no fixed failure mode Free only Yes No charge, outcome varies
Cloudflare Pages Unlimited static bandwidth, blank on the build-cap consequence $20/mo (annual) Yes Not confirmed

The surprise bill story is about paid plans, not these free ones

The fear is familiar: a side project gets a little attention, the free host keeps serving it, and an invoice arrives for the traffic. It is plausible enough that it gets repeated as generic hosting advice.

For the free tiers documented by these four hosts, that is not what the vendors say happens. Netlify is the clearest: its Free plan has a hard monthly limit that cannot be exceeded or incur a cost. Vercel’s Hobby plan has no billing cycle, and GitHub Pages has no Pages overage product to sell. Cloudflare calls static asset requests free and unlimited; the question it leaves unanswered is what happens to the 501st build, not how it bills a bandwidth spike.

That does not mean free hosting is risk-free. The cost is availability. A site can pause, a feature can wait for its allowance to return, or a host can simply reserve the right not to serve it. Those are very different failures from an invoice, and they call for a different precaution: know which resource is capped before traffic arrives.

Netlify gives the strongest answer, and the sharpest catch

Netlify’s pricing FAQ says exactly what a free user wants to know: the limit cannot incur costs. It also says exactly what a user with several small sites needs to know: when one project reaches its monthly limit, all projects on the account pause.

That is the catch to plan around. The consequence is predictable, but it is account wide. Putting a disposable launch page and a portfolio on the same free account joins their fate. The warnings at 50%, 75% and 100% give you time to move or upgrade, but they do not isolate the other projects.

The other important boundary is between Free and paid. Netlify’s paid plans can use auto recharge to refill credits in small increments. It is off by default, and it is the mechanism that can turn additional usage into spending. Saying “Netlify can bill for overages” without naming that paid, opt-in setting is wrong.

Vercel and GitHub Pages avoid the bill, not the ambiguity

Vercel’s rule is reassuring but qualified: “in most cases” a Hobby feature returns after 30 days. A separate Web Analytics policy has a seven-day path. Neither is a single, universal stop behaviour, so Vercel is recorded as limited rather than as the same firm result as Netlify. And Hobby is only for non-commercial personal use; the answer is irrelevant if the site is a business.

GitHub Pages is more direct about its uncertainty. Its 100 GB bandwidth cap and 10 builds-an-hour cap are both soft limits. If you cross a quota, GitHub says it may not be able to serve the site, or support may ask you to reduce its impact, add a CDN, or move hosts. There is no invoice in that list. There is also no promise that the site stays online.

The one explicit promise: hard limit, no charge

1. Netlify — The one explicit promise: hard limit, no charge

A defined stop policy, with an account-wide blast radius.

Best for States outright that the free plan cannot generate a bill

Pricing

From $9/mo. Free plan: 300 credits a month, described as a hard cap. There is no bandwidth number on the free tier any more — the page publishes metering rates instead: production deploys 15 credits each, bandwidth 20 credits per GB, compute 10 credits per GB-hour, web requests 2 credits per 10,000..

  • Personal — $9/mo · 1 seat (1,000 credits a month. The page states additional team member seats cannot be added on Free or Personal.)
  • Pro — $20/mo (Unlimited members. The Team Owner picks a monthly credit tier from 3,000 to 20,000 credits.)
  • Enterprise — price not shown on the page we opened (Custom pricing, contact sales. No USD figure renders on the page.)

Netlify's own official pricing page , 2026-08-10.

When free limits are hit Stops, no charge Read on the vendor's own page · 2026-08-10

Netlify answers the question in one unhedged sentence: "The free plan is always free, with hard monthly limits that cannot be exceeded or incur any costs." The mechanism is stated too: "When a site reaches its monthly usage limits, it enters a paused state until the start of the next billing cycle. We'll notify you by email and in-app as you approach your limits at 50%, 75%, and 100% of usage." One detail in that same answer is worth reading twice: "Please note that if one project exceeds its limits, all projects on your account will be paused." Billing risk sits on the paid plans instead, through an opt-in: paid plans "have spend control using the auto recharge setting for credits, which automatically refills your credit balance in small increments".

Same page as the pricing cited above.

Pros

  • The free tier's billing behaviour is stated without hedging — limits "cannot be exceeded or incur any costs".
  • Warnings arrive at 50%, 75% and 100% of usage rather than only at the cutoff.
  • Pro bundles unlimited team members into a flat $20 a month rather than charging per seat.

Skip it if

  • One project over its limit pauses every project on the account, by Netlify's own wording.
  • There is no free bandwidth figure any more — you have to convert credits yourself using the published per-resource rates.
  • The only route out of a pause described on the page is upgrading; no mid-cycle free reset is mentioned.

Visit Netlify

A free ceiling, but only for personal non-commercial work

2. Vercel — A free ceiling, but only for personal non-commercial work

No billing cycle is not the same thing as a fixed, universal recovery path.

Best for A quantified free bandwidth number, for non-commercial use only

Pricing

From $20/mo. Free plan: Hobby — Fast Data Transfer up to 100 GB a month, 1,000,000 edge requests, 1,000,000 function invocations, 4 CPU-hours of active CPU and 360 GB-hours of provisioned memory. Vercel's fair-use guidelines state Hobby is "restricted to non-commercial personal use only"..

  • Pro — $20/mo ($20 per developer seat a month; viewer seats are free. Usage beyond the included allowances is billed on demand at published per-unit rates.)
  • Enterprise — price not shown on the page we opened (Custom pricing, contact sales. No USD figure renders.)

Vercel's own official pricing page , 2026-08-10.

When free limits are hit No charge, outcome varies Read on the vendor's own page · 2026-08-10

Hobby stops rather than bills, and the docs say why: "As the Hobby plan is a free tier there are no billing cycles. In most cases, if you exceed your usage limits on the Hobby plan, you will have to wait until 30 days have passed before you can use the feature again." Recorded as limited rather than yours for two reasons visible in Vercel's own text. The sentence is hedged — "In most cases" — and the pause is not one duration but several, since "Web Analytics: collection pauses after the grace period and can resume after 7 days." Separately, the fair-use guidelines restrict who may rely on any of this: "Hobby teams are restricted to non-commercial personal use only. All commercial usage of the platform requires either a Pro or Enterprise plan."

Vercel's own official documentation , 2026-08-10.

Pros

  • Free bandwidth is a single published number — 100 GB a month — rather than a currency to convert.
  • Hobby cannot buy additional usage, so an exceeded limit cannot become an invoice.
  • Every free allowance is quantified in the docs, including CPU hours and provisioned memory.

Skip it if

  • Hobby is "restricted to non-commercial personal use only", so a business cannot rely on the free tier at all.
  • The overage sentence is hedged with "In most cases" rather than stating one guaranteed behaviour.
  • Pause length differs by resource — about 30 days for most, 7 days for Web Analytics — so there is no single answer to how long a lockout lasts.

Visit Vercel

No overage product, and no fixed failure mode

3. GitHub Pages — No overage product, and no fixed failure mode

The limits are numbers; the enforcement remains deliberately soft.

Best for No paid tier to bill against, and no firm commitment either

Pricing

From Free only. Free plan: Free with no paid Pages tier. The docs publish the numbers: "GitHub Pages source repositories have a recommended limit of 1 GB", "Published GitHub Pages sites may be no larger than 1 GB", "GitHub Pages deployments will timeout if they take longer than 10 minutes", "GitHub Pages sites have a soft bandwidth limit of 100 GB per month", and "GitHub Pages sites have a soft limit of 10 builds per hour. This limit does not apply if you build and publish your site with a custom GitHub Actions workflow.".

GitHub Pages's own official pricing page , 2026-08-10.

When free limits are hit No charge, outcome varies Read on the vendor's own page · 2026-08-10

There is no paid Pages tier, so a limit breach structurally cannot become a bill. What GitHub will not do is commit to what it does instead: "If your site exceeds these usage quotas, we may not be able to serve your site, or you may receive a polite email from GitHub Support suggesting strategies for reducing your site's impact on our servers, including putting a third-party content distribution network (CDN) in front of your site, making use of other GitHub features such as releases, or moving to a different hosting service that might better fit your needs." Every limit is labelled soft and the consequence is conditional — may not serve, may email. Recorded as limited rather than yours because a stated behaviour is what earns the stronger verdict, and this is a stated range of possible behaviours.

Same page as the pricing cited above.

Pros

  • No paid Pages tier exists, so there is nothing to bill an overage against.
  • Every limit is published as a number: 100 GB a month, 10 builds an hour, 1 GB site size, 10-minute build timeout.
  • The build-per-hour limit does not apply when publishing through a custom GitHub Actions workflow, by GitHub's own note.

Skip it if

  • Every limit is explicitly called soft, so enforcement is not predictable in either direction.
  • The stated consequence is conditional — GitHub "may not be able to serve your site" — rather than a defined cutoff.
  • There is no way to buy more capacity; GitHub's own suggested remedies are adding a third-party CDN or moving host.

Visit GitHub Pages

Unlimited static bandwidth, blank on the build-cap consequence

4. Cloudflare Pages — Unlimited static bandwidth, blank on the build-cap consequence

The missing answer is kept missing instead of converted into an optimistic verdict.

Best for Unlimited free bandwidth, and an undocumented build ceiling

Pricing

From $20/mo (annual). Free plan: Free plan — 1 concurrent build, 500 builds a month, 100 custom domains per project, unlimited sites, unlimited static requests, and "Unlimited bandwidth". The limits doc adds a 20-minute build timeout and up to 20,000 files per site..

  • Pro — $25/mo, or $20/mo billed annually ($20 a month billed annually or $25 monthly. 5 concurrent builds, 5,000 builds a month, 250 custom domains per project, unlimited bandwidth.)
  • Business — $250/mo, or $200/mo billed annually ($200 a month billed annually or $250 monthly. 20 concurrent builds, 20,000 builds a month, 500 custom domains per project, unlimited bandwidth.)

Cloudflare Pages's own official pricing page , 2026-08-10.

When free limits are hit Not confirmed

Pros

  • Bandwidth is stated as "Unlimited bandwidth" on the free plan, so a traffic spike cannot exceed anything.
  • Unlimited sites, unlimited static requests and unlimited seats are included at no cost.
  • The build limits are quantified precisely in the vendor's own limits doc: 500 builds a month, 1 concurrent build, a 20-minute timeout.

Skip it if

  • We could not establish what happens when the 500-builds-a-month cap is reached. We read pages.cloudflare.com, developers.cloudflare.com/pages/platform/limits/ and the Pages known-issues page; none states whether builds are queued, blocked, throttled or require an upgrade, so the verdict is left blank.
  • The free plan allows only 1 concurrent build against 5 on Pro, which is a practical bottleneck separate from the monthly cap.
  • Because the consequence is undocumented, a free-tier project cannot confirm in advance whether a busy month fails loudly or silently.

Visit Cloudflare Pages

The useful decision is which failure you can accept

For a personal project where a defined pause is acceptable, Netlify gives the cleanest policy. For a personal Vercel project, treat the allowance as a ceiling, not a credit line — and do not stretch Hobby’s non-commercial rule into a business exception.

GitHub Pages works when its soft limits and non-commercial restriction match the project. It is not a fallback for a storefront just because it has no bill. Cloudflare Pages is the sensible choice when the concern is static bandwidth, but its build quota needs a deployment process that does not burn through 500 builds a month.

The broader rule is simple: a free limit is not an overage policy. Before believing either the horror story or the reassurance, read the sentence describing what the host does at the limit. If it is absent, as Cloudflare’s build consequence is here, leave the answer blank until the host writes it down.

Frequently Asked Questions

Can Netlify's free plan charge for overages?

No, if you are on its current Free plan. Netlify says: "The free plan is always free, with hard monthly limits that cannot be exceeded or incur any costs." At the limit, the site pauses until the next billing cycle; it does not turn the missing capacity into a bill. That statement is specific to Free. Its paid plans can use optional auto recharge for credits.

What happens when Vercel Hobby reaches a limit?

Vercel says Hobby has no billing cycles and that "in most cases" an exceeded feature returns after 30 days. That hedge is why it is not recorded as a firm stop policy. The same documentation gives Web Analytics a different, seven-day resumption path. More importantly, Hobby is restricted to non-commercial personal use, so a business cannot treat this free protection as its hosting plan.

Does GitHub Pages charge for bandwidth overages?

No Pages overage price is documented. GitHub calls the 100 GB monthly bandwidth figure a soft limit and says an over-quota site may not be served, or support may email with ways to reduce impact or move elsewhere. That avoids a surprise invoice, but it is not a promise that the site will keep running. GitHub Pages also is not permitted for a business, ecommerce site or commercial SaaS.

Is Cloudflare Pages free bandwidth really unlimited?

For static asset requests, yes: Cloudflare's Pages documentation says they are free and unlimited on both free and paid plans. That does not make every Pages resource unlimited. Free accounts have one concurrent build and 500 builds a month, and Pages Functions draw on the Workers Free request quota. We leave the build-cap verdict blank because the limits page gives no documented consequence for reaching it.

Did you run traffic through these hosts until they stopped?

No. These are vendor-documented policies, not load tests. The four product records were first read on 6 August 2026 and rechecked on each vendor's own pricing or limits page on 10 August 2026. A real traffic test would only prove one account's result under one set of conditions; it would not replace the policy a buyer is being asked to accept.

How We Keep This Updated

Prices move and vendors rewrite their plan tables, so every value on this page carries the date we read it. When a page changes, the change lands here rather than being edited away quietly. The procedure is on the methodology page. tell us and we will re-check it.

  • 2026-08-10 — First published. Free-limit and overage policies were first read on 6 August and rechecked on each vendor's own pricing or documentation pages on 10 August 2026; the category deliberately leaves Cloudflare Pages' build-cap outcome unclassified because no official page found states it.