The Question Most Beginners Skip
You are building something. The first instinct is to register a domain β $12/year feels like a small commitment, and a custom domain feels professional. But for many projects, that $12 is the wrong call. A free subdomain on github.io, vercel.app, or netlify.app might be the right choice β and not just for the obvious "I am broke" reason.
This is the honest trade-off, with no marketing veneer.
What "Free Subdomains" Actually Means
Several major platforms give you a hostname under their own domain when you deploy:
- GitHub Pages: username.github.io for personal sites, username.github.io/projectname for project sites.
- Vercel: projectname.vercel.app on every deployment.
- Netlify: projectname.netlify.app.
- Cloudflare Pages: projectname.pages.dev.
- Render, Fly.io, Railway: each gives a subdomain on their respective platforms.
These subdomains are real. They have HTTPS. They serve actual content. Search engines index them. You can share them, link them, and run a public-facing site on them indefinitely.
When a Free Subdomain Is Genuinely Fine
1. Personal Portfolio or Resume Site
If your goal is a single page showcasing your work, yourname.github.io is honestly fine. Recruiters know what github.io means. It signals "developer who keeps things simple." Many people specifically choose github.io over a vanity domain for that reason.
2. Open-Source Project Documentation
Project docs hosted on github.io or netlify.app feel native to the open-source ecosystem. Users do not blink. The free subdomain is a feature, not a limitation.
3. Prototypes and MVPs
You are testing whether anyone wants the product. The first 50 users do not care about the URL β they care about whether the product works. Buy a domain when you have validation, not when you have a hypothesis.
4. Internal Tools
Your team's internal dashboard does not need a custom domain. company-tools.vercel.app works fine when only authenticated users see it.
5. Side Projects You Are Not Sure About
Most side projects die. Buying a domain for each one creates a graveyard of $12/year subscriptions to things you stopped working on. Free subdomains let you start without that cost.
When a Free Subdomain Is the Wrong Choice
1. Email Addresses
You cannot have [email protected]. Free subdomain platforms do not provide MX hosting. The moment you need professional email, you need a custom domain.
2. Public-Facing Business Sites
For a business taking payments, building trust, or running ads, mybusiness.netlify.app looks amateur in a way that costs real conversions. The custom domain pays for itself in perceived legitimacy.
3. SEO-Heavy Strategy
You can rank a project on github.io. People do. But the SEO ceiling is generally lower than with a custom domain β partly because of generic-platform ranking signals, partly because you cannot control technical SEO as fully (you share the platform's robots.txt, you cannot do certain redirects, etc.).
4. Brand Identity
If your project is a brand β something users will refer to by name, share, and remember β the free subdomain becomes friction. Repeat the URL out loud: yourbrand-app.vercel.app is harder to communicate than yourbrand.com. The custom domain is brand infrastructure.
5. Anything Mission-Critical
If your project depends on the URL not changing, do not use a free subdomain you do not control. Platforms can change their domain (Heroku transitioned heroku.com β herokuapp.com), and your URL goes with them. Custom domains are yours.
The Migration Path
The smart strategy: start with a free subdomain, register a custom domain when you have signal. Most platforms make migration trivial:
- Register your custom domain.
- Add it as a custom domain in your platform's dashboard (Vercel, Netlify, GitHub Pages all support this).
- Add the platform's specified A or CNAME record at your DNS provider.
- Wait for SSL provisioning (usually 1β10 minutes).
- Test, then optionally redirect the old subdomain to the new domain.
Total migration time: under an hour. There is almost no penalty to starting on a free subdomain and graduating later.
SEO Considerations for the Migration
If your site has any SEO traction on the free subdomain:
- Set up 301 redirects from the old hostname to the new one (most platforms support this).
- Update your sitemap and resubmit it to Google Search Console under the new domain.
- Update internal links to use the custom domain.
- Expect a temporary ranking dip (1β6 weeks) as Google reindexes.
This is the same migration playbook as any domain change. Plan it; do not skip the redirects.
Hidden Costs of "Free"
Free subdomains are not free in the deepest sense. The trade-offs:
- Platform lock-in. Migrating away when you outgrow the platform is harder than migrating away from a custom domain.
- SEO ceiling. Real, even if not catastrophic.
- Brand limitation. Cannot do email, harder to market.
- Platform discretion. Free hosting tiers can change terms, deprecate features, or shut down.
None of these matter for early-stage projects. All of them matter for established ones.
The Honest Recommendation
- Personal sites, OSS docs, prototypes: use a free subdomain. The custom domain is overkill.
- Side projects with no users: use a free subdomain. Buy a domain when you have 50+ regular users.
- Public business or brand: register a custom domain on day one. The cost is rounding error; the legitimacy is real.
- Anything with email or payments: custom domain. Non-negotiable.
The instinct to register a domain immediately is usually founder vanity, not strategy. For most early projects, a github.io URL is more honest about what the project is β and that honesty is sometimes a feature.