Skip to content
Advance Labs
Advance Labs Inc. logo

How to get a free domain with GitHub

Technical · 10 min read · Updated 2026-10-02

Short answer: We operate one of the registries compared below, which you should know before weighing anything here. There are two genuinely different things people mean by "a free domain through GitHub," and conflating them is why most answers to this question are unsatisfying. One is a real registered domain you own, available free for a year if you are a student, and that is the better option whenever you qualify. The other is a free subdomain from a community registry — a name like yourname.is-a.dev — which is not a domain, costs nothing, requires no student status, and is what the overwhelming majority of people asking this question end up using. Both routes are covered below, in that order, because the first one is better and almost nobody mentions it.

## not_a_domain

First, the correction: almost none of these are domains

A domain is something you register and control, like example.com. A subdomain is a name carved out of someone else's domain, like example.github.io or yourname.is-a.dev. They look alike in an address bar and they are not alike in any way that matters when something goes wrong.

With a registered domain you are the registrant. There is a registrar between you and the world, an expiry date you control, a transfer process, and a dispute mechanism. With a subdomain, one company owns the registered domain and has pointed part of it at you as a favour they can withdraw. You are a guest.

Why this distinction decides your answer

If you are putting up a portfolio, a demo, or a side project, being a guest is fine and free is a real win. If you are putting up anything commercial, printed, or contractual, being a guest is a liability that a ten-dollar-a-year domain removes entirely. Work out which you are before choosing a route, because the routes below are not substitutes for each other.

## student_pack

Route 1: an actual domain, free for a year, if you are a student

This is the best answer to the question as asked, and it is the one most pages covering this topic skip, because it disqualifies most readers in the first sentence. If you have a student email address or can verify student status, the GitHub Student Developer Pack includes a free .me domain registration from Namecheap for one year, alongside an SSL certificate. It is a real registration in your name, not a subdomain.

Two caveats worth knowing before you take it. The free period is one year; renewal afterwards is at the normal rate, which for .me runs around twenty dollars. And the pack's partner list changes over time, so confirm the current offer at education.github.com rather than trusting any third-party summary of it, including this one.

If you qualify, stop reading here

A real domain you own, even on a less-common extension, beats every subdomain option below on every axis that matters: you keep it if the operator folds, you keep your links if you move hosts, and an AI answer engine deciding whether to cite your project reads it as a stronger signal of a real thing. The only reason to prefer a subdomain when you qualify for this is if you actively want the name to read as a developer-community name.

## registries

Route 2: a free subdomain from a community registry

These are open-source projects where claiming a name means opening a pull request against a public repository. You add a small JSON file describing where your name should point, CI validates it, a maintainer merges it, and DNS picks it up. No student status, no payment, no account beyond GitHub.

The mechanics are near-identical across all three of the main ones. The differences that actually matter are about governance and risk, not features.

RegistryShape of the nameOn the Public Suffix List?Best for
js.orgyourproject.js.orgYesJavaScript projects. Scope is enforced — it is for JS-ecosystem work, not personal pages.
is-a.devyourname.is-a.devYesDeveloper personal pages and portfolios. The largest and most general-purpose of the three.
runs-on.devyourname.runs-on.devNo, as of 2026-10-02Projects and personal pages where the sentence-shaped name is the point. The one we operate.

That third column is the single most important comparison on this page and the one no registry's own documentation leads with. A domain on the Public Suffix List is treated by browsers as a boundary between separate sites, so one subdomain serving a phishing page cannot set cookies for, or poison the safe-browsing reputation of, every other name on the apex. Verified against the published list on 2026-10-02: js.org and is-a.dev are both on it. runs-on.dev is not.

We are recommending against ourselves on this one

If your only criterion is safety, is-a.dev and js.org are better choices than runs-on.dev today, and will be until our Public Suffix List submission lands and ships in browser releases — which takes months after acceptance, not days. We would rather you read that here than discover it later. The trade-offs are covered in full in our piece on whether free subdomain registries are safe.

Are free subdomain registries safe?

## how_to_claim

How claiming actually works

The flow is the same whichever registry you pick, and it is worth seeing once because it explains both why these are free and why they are revocable.

  1. 01Pick a name and check it is not taken

    Every registry publishes its claims as files in a public repository. Browse the directory, or use the registry's own search. Taken names are visible to anyone, which is also your first signal about how actively the project is maintained.

  2. 02Decide where the name should point

    Usually a CNAME to a host you already use — GitHub Pages, Vercel, Netlify, Cloudflare Pages — or A records to an IP. You need the hosting sorted first; the registry provides the name, never the server.

  3. 03Open a pull request adding your record file

    A small JSON file: your name, your GitHub username as owner, and the DNS records. CI validates the schema and usually checks you are not claiming a reserved or duplicate name.

  4. 04Wait for a maintainer to merge

    This is a human step and the wait varies from minutes to days depending on the project's activity. Once merged, DNS propagates and the name resolves, typically within the hour.

  5. 05Configure the custom domain on your host

    The step people forget. GitHub Pages, Vercel and the rest each need to be told your new name belongs to them, or they will serve a mismatch error even with DNS correct. Certificate issuance usually follows automatically once both sides agree.

The reason this is free is visible in those steps: the registry's only cost is one domain registration plus maintainer time, amortised across every claimant. The reason it is revocable is the same mechanism in reverse — a maintainer deleting your file in a pull request is all it takes, which is also, usefully, a public and auditable record of it happening.

## github_pages

What about the free github.io name?

Worth stating because it is often the answer people are reaching for without knowing it. Every GitHub account already gets username.github.io free with GitHub Pages, with no pull request, no waiting, and no registry to outlive. For a personal site or project page, that is frequently sufficient and it is the fastest route on this page by a wide margin.

People move off it for one of two reasons: they want a name that does not advertise where it is hosted, or they want to move hosts later without changing the URL. If neither applies to you, the honest recommendation is to use github.io and spend the saved effort on the thing you are publishing.

## choosing

Choosing, in one pass

  • You have a student email → GitHub Student Pack: A real domain you own, free for a year. Strictly better than every subdomain option. Check the current offer at education.github.com before assuming the details here still hold.
  • You are shipping anything commercial → buy a domain: Around ten dollars a year removes the entire category of risk on this page. If the project is meant to make money or represent a business, this is not the corner to cut.
  • It is a personal page or demo and you want it now → github.io: Already yours, instant, no registry to depend on. The default answer that most people asking this question have not considered.
  • You want a community name and safety is the priority → is-a.dev or js.org: Both on the Public Suffix List, both long-running. js.org if it is a JavaScript project, is-a.dev otherwise.
  • You want the sentence-shaped name and accept a young registry → runs-on.dev: Ours. Public claim files, an incorporated operator, and no Public Suffix List entry yet. Good for portfolios and side projects; we would not put a business on it, and neither should you.

## faq

Can you get a free domain from GitHub?

Through the GitHub Student Developer Pack, yes — it includes a free .me domain registration from Namecheap for one year, which is a real domain in your name. Without student status, what is available is a free subdomain rather than a domain: username.github.io from GitHub Pages automatically, or a community registry name like yourname.is-a.dev. Confirm current Student Pack offers at education.github.com, as the partner list changes.

What is the difference between is-a.dev and js.org?

Scope, mainly. js.org is restricted to JavaScript-ecosystem projects and will decline a personal page; is-a.dev is general-purpose and is the larger of the two. Both are free, both work by pull request against a public repository, and both are on the Public Suffix List, which means browsers treat each subdomain as a separate site for cookie scope and safe-browsing reputation.

Is a free subdomain good enough for a business website?

No. A free subdomain can be reclaimed by its operator, disappears entirely if the operator stops paying for the apex domain, and reads as weaker evidence of a real organisation to AI answer engines deciding whether to cite you. A registered domain costs roughly ten dollars a year and removes all three problems. Free subdomains suit portfolios, demos, side projects and redirects.

How long does it take to claim a free subdomain?

The pull request takes a few minutes to write. Merging is a human step that varies from minutes to several days depending on how actively the registry is maintained, and DNS usually resolves within an hour of merge. Budget a day end to end, and remember you must also add the custom domain on your hosting provider or it will serve a mismatch error despite correct DNS.

## related_guides