Deployment Platform Comparison: Free Quotas, Limits, and How to Choose
💡 One-sentence summary: There is no absolute "best" among the three free static hosting providers — all three are sufficient for personal projects; rule out Vercel Hobby first for commercial projects; choose the web wizard or drag-and-drop if you avoid the command line; choose Vercel or Cloudflare Pages if you need server-side capabilities.
The previous three lessons walked through each of the three go-live routes: A2 GitHub Pages, A3 Cloudflare Pages, A4 Vercel. This lesson wraps up route A: putting all three providers into a single static website hosting comparison table — free quotas, hard limits, who each is for — clear at a glance in 8 minutes, then taking action without second-guessing.
Many people search "github pages vs vercel", but discussing pros and cons without "who you are and what the site is for" is pointless. This page gives you the comparison table first, then a beginner-friendly decision tree — just find where you fit based on your own situation.
What You'll Be Able to Do After This Lesson
- Understand the quota differences among the three free plans in one table: deployment frequency, traffic, file count, project count, custom domain count
- Be able to state each provider's "red lines": Vercel Hobby is non-commercial only, GitHub Pages free requires a public repository, Cloudflare direct upload and Git integration are mutually exclusive
- Follow the decision tree to pick your free site hosting platform, and be able to state your reason for choosing it in one sentence
- Know what happens when limits are exceeded (most Vercel features require waiting 30 days), and know which numbers this page's sources don't provide and that you'll need to verify in the official docs yourself
Your Current Dilemma
- "I've read all three deployment tutorials, but I'm more torn than ever: where should I host my pages?"
- "How different are the free quotas really? Will I exceed them on day two and get my site shut down?"
- "I heard Vercel's free plan can't be used commercially? Is it okay to put my portfolio or client projects on it?"
When to Use This Approach
When you need to:
- Make a final choice among GitHub Pages, Cloudflare Pages, and Vercel
- Understand each provider's free quotas and limit red lines before your project grows
- Explain clearly to a friend or client "why this provider"
And you don't want to:
- Dive into the limits / pricing pages of all three providers' English docs and translate line by line
- Discover you picked the wrong platform only after going live, then migrate the whole thing
🎒 Preparation Before Starting
- Have read at least one of the three deployment tutorials: A2 GitHub Pages (or A3 Cloudflare Pages, A4 Vercel)
- Have a static page built with AI locally (don't have one yet? Go back to A1 Building Websites with AI first)
- Have a rough idea of your purpose: personal practice / portfolio showcase / commercial project — this determines the first round of filtering
Core Idea
When comparing static hosting platforms, don't fixate on "traffic" alone. What will actually trip you up are six dimensions:
| Dimension | Why It Matters |
|---|---|
| Usage Terms | Determines whether your project "can be hosted here at all": Vercel Hobby explicitly states it is for non-commercial personal use only |
| Free Tier Prerequisites | GitHub Pages free requires a public repository, so your code will be visible |
| Deployment Frequency | Frequently updated sites can easily hit build / deployment count limits |
| Traffic | Will heavy visitor traffic exceed limits, and what happens if it does |
| File Count / Single File Size | Image-heavy sites should note Cloudflare's 20,000 file and 25 MiB caps |
| Project Count / Domain Count | Determines how many sites you can maintain simultaneously and how many domains you can bind |
Main Comparison Table of the Three Free Plans
| Comparison Item | GitHub Pages (Free) | Cloudflare Pages (Free) | Vercel (Hobby) |
|---|---|---|---|
| Positioning | Static site hosting: publishes files taken from a GitHub repository | Full-stack application hosting: available on all plans (including free) | Cloud platform: the Hobby free plan targets personal projects |
| Usage Terms | —¹ | —¹ | ❌ Non-commercial personal use only |
| Free Tier Prerequisites | Repository must be public (GitHub Free account) | None: both private and public repositories are supported | None: CLI can deploy directly without a repository |
| Sites / Projects | 1 user site per account; 1 project site per repository | 100 projects per account | 200 projects |
| Deploy frequency | —¹ | 500 builds per month (only 1 running at a time) | 100 deployments per day |
| Traffic | —¹ | —¹ | 100 GB per month (Fast Data Transfer) |
| File limits | —¹ | 20,000 files per site; max 25 MiB per file | —¹ |
| Custom domains | Supported (www / subdomain / apex) | 100 per project | 50 per project |
| How to go live | Web wizard; GitHub Actions workflow | Git integration / drag-and-drop upload / Wrangler CLI | CLI / connect a Git repository via web |
| Auto-publish after push | ✅ Branch deployment (up to 10 minutes wait) | ✅ Git integration | ✅ After connecting a repository |
| Builder | Branch builds default to Jekyll; for other generators add .nojekyll or switch to Actions | Fill in your own build command (leave empty if no build) | Automatic framework detection |
| Server-side capabilities | ❌ No support for server-side languages | Pages Functions | Functions + one-click database setup |
| Consequences of exceeding limits | —¹ | —¹ | Most features become unavailable for 30 days before they can be used again |
—¹ means the sources for this page (scraped snapshots of the three providers' official documentation) do not give this number or term, which does not imply "unlimited" or "allowed"; the three main gaps are noted in the callout below—check the official documentation before choosing.
GitHub Pages free quota and limits
- Number of sites: up to 1 user/organization site per account (the repository must be named
<owner>.github.io); up to 1 project site per repository - Free prerequisite: repositories on a GitHub Free account must be public; and the site content is visible on the public web—even if the repository is private
- Publishing cadence: after a push, it can take up to 10 minutes before the site goes live or updates
- Builder: building from a branch uses Jekyll by default; to use generators like VitePress, create an empty
.nojekyllfile, or switch to a GitHub Actions workflow - Capability boundaries: no support for server-side languages such as PHP, Ruby, or Python; static assets support 750+ MIME types
- Quantified quotas (bandwidth / storage / build frequency): the sources for this page give no numbers¹
Cloudflare Pages free quota and limits
- Builds: 500 per month, only 1 running at a time, with a 20-minute timeout per build
- Files: up to 20,000 files per site; max 25 MiB per file—for larger files, the official recommendation is R2
- Direct-upload single upload: Wrangler allows up to 20,000 files, drag-and-drop up to 1,000 files; after dragging in an oversized file, deleting that asset requires re-uploading the whole site
- Number of projects: 100 per account (officially noted that this limit is not routinely raised); new accounts are limited in how many new projects they can create during the first 48 hours, after which the restriction lifts automatically
- Custom domains: 100 per project; preview deployments are unlimited
- Traffic / request counts: the limits documentation lists no quota, so this page makes no claim¹
- Officially noted: new projects are recommended to start with Workers; Pages mainly serves existing projects
Vercel Hobby free quota and limits
The most critical part of Vercel's limits isn't the numbers—it's the usage terms. Look at the first item:
- Usage terms: non-commercial personal use only (fair use policy, original text: non-commercial, personal use only)
- Traffic and usage: Fast Data Transfer 100 GB per month; also includes Fast Origin Transfer 10 GB, 1,000,000 CDN requests, 1,000,000 Function invocations, and more
- Deployments and projects: 100 deployments per day; 200 projects; 50 domains per project
- Build resources: build machine with 2 vCPU / 8 GB memory; Functions can run up to 300 seconds per invocation
- Consequences of exceeding limits: after exceeding most features, you must wait 30 days before using them again (Web Analytics is the exception, resuming after a 7-day pause)
- Upgrade path: Pro plan developer seat at $20/user/month
⚠️ Three gaps where "if it can't be found, we say so"
All facts on this page come from scraped snapshots of the three providers' official documentation; numbers not in the snapshots are not invented here:
- GitHub Pages' quantified quotas for bandwidth, storage, build frequency, etc. @@I18N_KEEP_000012@@
- Cloudflare Pages free tier's traffic / request quotas—which is why this page makes no claims like "unlimited traffic" @@I18N_KEEP_000013@@
- Commercial-use terms for the GitHub Pages and Cloudflare Pages free plans—Vercel Hobby's ban on commercial use has a clear documented source; no claims are made here for the other two @@I18N_KEEP_000014@@
Follow along
Pick your platform in four steps, one or two minutes each.
Step 1: Narrow the field with two questions (purpose + comfort with the command line)
Why: purpose is a hard rule, the command line is a matter of experience—filter on the hard rule first, then pick what feels right.
Answer two questions:
- Is this project commercial (company website, client work, meant to make money)? → Yes: Vercel Hobby is out, the terms explicitly state non-commercial personal use only
- Do you absolutely refuse to touch the command line and Git? → Yes: the candidates narrow down to GitHub Pages web wizard and Cloudflare Pages drag-and-drop upload
You should see: after these two questions, at most two or three candidate platforms remain, and the difficulty of choosing has been cut in half.
Step 2: Check free quotas against the static site hosting comparison table
Why: quotas determine whether your site "fits and survives tinkering"—hitting a hard limit hurts more than picking the wrong platform.
Go back to the main comparison table above and focus on three rows:
- Deployment frequency: It's rare for a personal site to change dozens of versions in a day, so Vercel's 100 per day and Cloudflare's 500 per month usually go unused
- File limits: For sites with lots of images, watch Cloudflare's caps of 20,000 files per site and 25 MiB per file
- Traffic: Only Vercel gives a clear number (100 GB per month); the other two have no numbers in this page's sources, so projects expecting heavy traffic should verify against the official docs themselves
You should see: your project's scale doesn't hit any provider's red line; and if it does, the table shows directly which one to switch to.
Step 3: Walk the decision tree based on how you work
Why: For the same static site, the platform that feels "most natural" differs completely from person to person—this step is the real answer to github pages vs vercel.
Is the project commercial?
├─ Yes → Vercel Hobby is out (non-commercial only)
│ → Go with Vercel Pro ($20/user/month), or after checking the terms, choose GitHub Pages / Cloudflare Pages
└─ No (personal project)
├─ Need server-side capabilities (APIs / databases)?
│ ├─ Yes → Vercel (Functions + one-click database via vercel install)
│ │ or Cloudflare Pages Functions (GitHub Pages doesn't support server-side languages)
│ └─ No → move on
├─ Usually run the terminal with an AI coding agent?
│ └─ Yes → Vercel CLI: one command, vercel --prod, to deploy
│ (Vercel also has official Plugin / Skills / MCP support)
├─ Know Git and want to go live automatically on push?
│ └─ Yes → Cloudflare Pages Git integration, or Vercel web-connected repo
│ (GitHub Pages works too, but generators like VitePress need .nojekyll or Actions configured)
└─ Don't want to touch the command line or Git at all?
├─ Okay with creating a repo and clicking through settings → GitHub Pages web wizard
└─ Just want to drag a folder into the browser → Cloudflare Pages drag-and-drop upload💡 A shortcut
If you can't decide among the three routes, remember how this tutorial series divides things: A2 is best for complete beginners using the web wizard, A3 is best for the drag-and-drop crowd who don't know Git, and A4 is best for AI coding agent users. First follow the one that looks most appealing end to end, then come back and fine-tune against the quota table.
You should see: starting from your situation, one path leads to a single (or one-of-two) platform.
Step 4: Before going live, remember each provider's overage consequences
Why: Free quotas aren't a "just a warning and it's over" thing—after exceeding limits, Vercel really will suspend you for 30 days.
- Vercel Hobby: After exceeding most quotas, you must wait 30 days before using them again (Web Analytics is the exception, recovering in 7 days); watch your usage after launch
- Cloudflare Pages: 500 builds per month is a hard number; files over 25 MiB can't be uploaded—for large files, the official advice is R2
- GitHub Pages: After pushing, updates can take up to 10 minutes—don't repeatedly conclude "deployment failed" within 10 minutes
You should see: you can state in one sentence what happens on overage for each provider, so you won't panic if it actually happens.
Checkpoint ✅
- I can state the free positioning of all three: GitHub Pages publishes static sites from public repos, Cloudflare Pages is available on all plans, Vercel Hobby is for personal projects
- I know Vercel Hobby's three hard numbers: 100 GB of traffic per month, 100 deployments per day, 200 projects, and non-commercial use only
- I know Cloudflare Pages' free quotas: 500 builds per month, 20,000 files, 25 MiB per file, 100 projects per account
- I know which numbers this page doesn't provide (GitHub Pages bandwidth, Cloudflare traffic), and won't treat "free" as "unlimited"
- I've chosen a platform and can state my reason for choosing it in one sentence
Pitfall warnings
❌ Pitfall 1: Putting a commercial project on Vercel Hobby
Symptom: Launching a company website or commissioned work on the Hobby plan, thinking "just run it free for now." Cause: Hobby's fair use terms explicitly state "non-commercial, personal use only"—this is a terms issue, not a technical one. Correct approach: Put commercial projects on Vercel Pro ($20/user/month per developer seat); or consider GitHub Pages / Cloudflare Pages—but their commercial-use terms aren't in this page's sources, so verify the official terms before acting.
❌ Pitfall 2: Treating "free" as "unlimited traffic"
Symptom: "Cloudflare Pages is free, so surely traffic is unlimited." Cause: The official limits doc lists builds, files, domains, and project counts, but no traffic quota—"not listed" doesn't mean "unlimited"; Vercel Hobby, by contrast, explicitly states 100 GB per month. Correct approach: For projects expecting heavy traffic, verify the latest numbers on all three providers' official limits / pricing pages before launch—don't treat a tutorial snapshot as a permanent promise.
❌ Pitfall 3: Wanting to switch a Cloudflare direct-upload project to Git auto-deployment
Symptom: After launching via drag-and-drop, you want "push to auto-publish" and find you can't switch over. Cause: The official docs state that Direct Upload and Git integration are mutually exclusive: for auto-deployment, a direct-upload project must create a new Git-integrated project instead. Correct approach: Decide up front whether you want auto-deployment—if yes, connect Git; if no, use drag-and-drop.
❌ Pitfall 4: Expecting GitHub Pages to run a backend
Symptom: Wanting the site to have login and a database, so uploading PHP files to GitHub Pages. Cause: Officially, server-side languages like PHP, Ruby, and Python are not supported—it's purely static hosting. Correct approach: Static hosting is for frontend artifacts only; for server-side capabilities, choose Vercel (Functions + one-click database) or Cloudflare Pages Functions.
Advanced tips
- Bind your own domain: All three support custom domains; github.io and pages.dev can both be replaced with your own domain—see 5.3 Custom Domain for the general approach
- Let an AI agent take deep control of Vercel: Install Vercel's official Plugin / Skills / MCP trio, and the agent can manage projects, consult docs, and run deployments on its own—see 5.2 Vercel × AI Toolchain
- If unsure, try one of each: All three have free plans; deploy a small project on each to compare speed and comfort, then decide where to put your main site
Lesson summary
✅ Static site hosting comparison—one table plus four sentences to take away:
- Terms: Vercel Hobby is for non-commercial personal use only; GitHub Pages requires the repo to be public for free; Cloudflare Pages is available on all plans
- Quotas: Cloudflare offers 500 builds / 20,000 files / 25 MiB per file / 100 projects per month; Vercel offers 100 GB per month / 100 deployments per day / 200 projects / 50 domains per project; GitHub Pages only limits the number of sites—for quantified quotas, refer to the official documentation
- Convenience: No command line → GitHub Pages web wizard / Cloudflare drag-and-drop; Know Git → Cloudflare Git integration / Vercel connect repository; Using an AI agent → Vercel CLI
- Capabilities: Need server-side → Vercel / Cloudflare Pages Functions; GitHub Pages is purely static
| Platform | Free Plan | Remember These Numbers |
|---|---|---|
| GitHub Pages | Free | 1 user site/account; 1 project site/repository; repository must be public |
| Cloudflare Pages | Free | 500 builds/month; 20,000 files; 25 MiB per file; 100 projects |
| Vercel | Hobby | 100 GB/month; 100 deployments/day; 200 projects; non-commercial use only |
Next Lesson Preview
Track A (building websites with AI) wraps up here: the pages are built, deployed, and you've made an informed platform choice. The next lesson moves into Track B—B1 What Are WeChat Mini Programs: Opportunities Beginners Can Seize.
You will learn:
- What WeChat Mini Programs are, and how they fundamentally differ from websites
- Whether individuals can register a Mini Program (yes—any real-name user aged 18 or older with mainland China identity credentials can)
- What the official learning path looks like, and at which steps AI can help