GitHub Username Checker
Check if a GitHub username is available. GitHub usernames double as your project URL prefix (github.com/<you>/repo), so picking a clean one matters more than on social-only platforms.
Why your GitHub username matters more than you think
Unlike social platforms where the handle is just a vanity URL, your GitHub username is the URL prefix for every project you ever publish, your GitHub Pages domain, and the namespace every developer cites you by. Pick carefully.
It's your project URL prefix
Every repo lives at github.com/<your-name>/<repo-name>. A clean username makes README badges, blog citations, and Stack Overflow links look professional.
It becomes your GitHub Pages subdomain
<your-name>.github.io is the free static hosting domain. If your username is messy, your portfolio site URL is messy too.
Hyphens between letters, not at edges
GitHub allows hyphens but not consecutive ones, and not at the start or end. `cool-dev` works, `-cool-dev` or `cool--dev` doesn't.
39-character maximum
Plenty of room — most usernames are 5–15 characters. Going longer makes URLs unwieldy in shell commands and CI configs.
You can change it (with consequences)
GitHub allows username changes but old URLs only redirect for 30 days, and your old name immediately becomes available for someone else to claim. If you change, register the old name to a placeholder account first to prevent squatting.
Why GitHub rejects a username at signup
GitHub's rules are simpler than the social platforms — most rejections are mechanical, not policy-based.
Reserved system names
GitHub reserves a list of routes (`api`, `settings`, `marketplace`, `login`, `enterprise`, etc.) that look like usernames but aren't available. Our check returns "available" for these because the API says so, but signup rejects.
Recently changed usernames
When someone changes their GitHub username, the old name becomes available immediately. So a "free" check today might mean someone just gave up that name — useful to know if you're grabbing it for brand protection.
Bulk creation triggers anti-spam
GitHub blocks signing up too many accounts from the same IP / device. Won't affect a normal individual signup.
Who uses the GitHub username checker
GitHub's username has unusual cross-functional weight — devs, brands, and security teams all need to verify availability.
Junior dev creating their first GitHub account and worried about getting stuck with `<name>2026` because the clean version is taken. Check 3–5 variants in seconds.
Launching a new OSS project under a brand. Verify the brand username is available so the project lives at github.com/<brand>/<project> instead of github.com/<your-personal>/<project>.
Make sure no impersonator has registered github.com/<your-company>. If it's yours, claim it. If it's an active impersonator, file a trademark report.
Username rules per platform
Each platform has its own format rules. The handles that work everywhere stick to letters, digits, and at most one underscore.
| Platform | Length | Allowed characters | Notes |
|---|---|---|---|
| 1–30 | a–z, 0–9, . _ | No leading/trailing dot, no consecutive dots | |
| TikTok | 2–24 | a–z, 0–9, . _ | No leading dot |
| YouTube | 3–30 | a–z, 0–9, . _ - | Custom handles launched late 2022 |
| X (Twitter) | 4–15 | a–z, 0–9, _ | Tightest length cap — drives the cross-platform ceiling |
| Threads | 1–30 | a–z, 0–9, . _ | Same pool as Instagram |
| Bluesky | 3–18 | a–z, 0–9, - | Default form is <handle>.bsky.social |
| GitHub | 1–39 | a–z, 0–9, single hyphens | No consecutive hyphens, no leading/trailing |