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:

  1. Register your custom domain.
  2. Add it as a custom domain in your platform's dashboard (Vercel, Netlify, GitHub Pages all support this).
  3. Add the platform's specified A or CNAME record at your DNS provider.
  4. Wait for SSL provisioning (usually 1–10 minutes).
  5. 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.