GitHub Pages vs Netlify: Which Free Host to Use in 2026
GitHub Pages vs Netlify compared: free limits, builds, previews, forms, commercial use and how to migrate between them in either direction.
6 min read

In the GitHub Pages vs Netlify choice, GitHub Pages is the simpler, steadier option for personal sites, docs and open-source project pages: free from a public repo, with soft limits and no billing. Netlify suits sites that need deploy previews, functions or built-in forms, but its credit-based Free plan pauses every site once you use 300 credits in a month.
Below we compare the two side by side, explain when to pick each, how forms work on both, and how to migrate in either direction. For the wider field, including Vercel and Cloudflare, see our guide to static site free hosting.
Limits checked 14 October 2026 against each provider's official docs. Free plans change often; check the linked pages before you commit.
GitHub Pages vs Netlify at a glance
Sources: GitHub Pages limits, GitHub plans, Netlify credit-based plans and how Netlify credits work.
| GitHub Pages (GitHub Free) | Netlify Free (credit-based) | |
|---|---|---|
| Price | Free | Free, 300 credits/month |
| Bandwidth | Soft limit 100 GB/month | 20 credits per GB from the shared pool |
| Site size | 1 GB published site | Not the main constraint |
| Builds | Soft limit 10/hour (not with a custom Actions workflow); 10 min deploy timeout | Build minutes not counted; 15 credits per production deploy |
| Repository | Public repos only on GitHub Free | Private repos allowed for owner-only projects |
| Deploy previews | Not built in | Unlimited, 0 credits |
| Serverless functions | None | Yes, metered as compute |
| Forms | None | Netlify Forms, unlimited and free |
| Custom domain + HTTPS | Yes, Let's Encrypt with "Enforce HTTPS" | Yes, SSL included |
| Commercial use | Not for running an online business | No restriction on Netlify's pricing pages |
| Over the limit | Possible rate limiting; no billing, no pause | All projects paused until next cycle |
The biggest practical difference is the last row. GitHub's limits are soft, so a traffic spike might get you rate limited, but your site isn't switched off. Netlify's 300 credits are a hard monthly cap across every project on the account.
When to pick GitHub Pages
GitHub Pages is the right choice when your code already lives in a public GitHub repository and the site is informational: a portfolio, a project's documentation, a personal blog or a conference page.
- It's predictable. No credits, no billing and no pause. The 100 GB soft bandwidth limit is generous for a personal site.
- It's close to your code. Publish from a branch or a GitHub Actions workflow, and the site updates with every push. Our guide to hosting a static website on GitHub Pages for free walks through it.
- It's limited on purpose. No functions, no forms and no built-in per-PR previews. GitHub Pages only serves static files.
Two restrictions matter. On GitHub Free, Pages works only from public repositories. And GitHub's limits page says Pages is "not intended for or allowed to be used as a free web-hosting service to run your online business". More on that in GitHub Pages limits.
When to pick Netlify
Netlify is a better fit when you want a fuller workflow around your static site.
- Deploy previews for every pull request, free and unlimited, so reviewers can click a link instead of building locally.
- Built-in forms that need no extra service, plus serverless functions for small bits of backend logic.
- Private repos on the free plan for projects you own.
- Redirects and headers through
_redirectsand_headersfiles.
The trade-off is the credit model. As a rough estimate, 300 credits is about 15 GB of bandwidth if nothing else is used, or 10 production deploys plus about 7.5 GB. When you hit the cap, every project pauses and visitors see "Site not available". Accounts created before 4 September 2025 are on legacy plans with different limits; see Netlify free plan limits.
Forms: Netlify Forms vs nothing at all
This is a real difference. Netlify detects forms in your HTML at deploy time and collects submissions, and on credit-based plans Netlify Forms is unlimited and free. If the account pauses at the credit limit, though, forms stop accepting submissions along with the site.
GitHub Pages has no form handling. A form whose action posts back to your own page will fail, because there's nothing on the server to receive it. The fix is to post to a hosted form backend, which works on any host and survives a move between them. Our GitHub Pages contact form guide has copy-paste markup.
How to migrate between GitHub Pages and Netlify
Both serve a folder of static files built from a Git repository, so moving is mostly configuration.
From GitHub Pages to Netlify
Connect the repository
In Netlify, import the same GitHub repository. Set the build command (if any) and the publish directory, such as _site, dist or the repo root.
Check the deploy
Open the Netlify subdomain and test pages, assets and links. If GitHub was building your site with Jekyll, make sure Netlify has an equivalent build command.
Move the domain
Add your custom domain in Netlify, update the DNS records it asks for, and remove the domain from your GitHub Pages settings (and any CNAME file you no longer need).
From Netlify to GitHub Pages
Make sure the repository is public (or that you have a paid GitHub plan), then publish from a branch or a GitHub Actions workflow. Replace anything Netlify-specific: _redirects rules, functions and Netlify Forms have no equivalent on GitHub Pages, so forms need an external endpoint. Then point DNS at GitHub Pages using GitHub's custom domain docs. Our post on free custom domains and HTTPS explains the DNS records.
Limits that catch people out
A few details trip people up after they've picked a host.
- GitHub Pages build limits. The soft limit of 10 builds an hour doesn't apply when you build and publish with a custom GitHub Actions workflow, so busy repos should use one. Deployments still time out after 10 minutes.
- GitHub Pages site size. The published site can be up to 1 GB, and GitHub recommends keeping the source repository under 1 GB too. Large media is better stored elsewhere.
- Netlify production deploys. Each one costs 15 credits, so frequent small deploys to production eat into the same pool as bandwidth. Previews and branch deploys are free.
- Netlify team members. The Free plan has one owner and can't add team members, although you can invite unlimited Reviewers. GitHub Pages has no equivalent restriction for public repos, since collaborators work in the repository.
The verdict
| If you... | Pick |
|---|---|
| Host a portfolio, docs or open-source site from a public repo | GitHub Pages |
| Want predictable hosting with no risk of a pause | GitHub Pages |
| Need deploy previews or serverless functions | Netlify |
| Want forms with zero extra services | Netlify |
| Run a business site | Netlify, or compare Netlify vs Vercel vs Cloudflare Pages |
Add a working contact form to your static site
GitHub Pages serves files and can't process form POSTs, and Netlify Forms only works while you stay on Netlify. Point your form's action at a FormSubmit endpoint instead and submissions arrive in your inbox, whichever host you use. The free plan includes 1 form and 50 submissions a month. Follow the GitHub Pages or Netlify form guide.


