GitHub User ID Finder
Enter a GitHub username or profile URL to look up its numeric user ID plus basic profile info — useful for API calls and integrations that need the numeric ID rather than the login name.
Instructions
- Enter a username or profile URL — either
octocatorhttps://github.com/octocatworks. - Click "Get User ID" — the lookup runs against the GitHub API.
- Read the result — the numeric user ID appears first, followed by a table of basic profile information and the complete raw API response.
The lookup happens in your browser and calls GitHub directly. Nothing passes through a server here.
What is a GitHub user ID?
A GitHub user ID is the permanent numeric identifier GitHub assigns to an account when it's created. It looks like 583231, not like octocat.
That distinction is the whole point. Every account has two identities:
| Login (handle) | User ID | |
|---|---|---|
| Example | octocat | 583231 |
| Format | Text | Integer |
| Where you see it | Profile URL, @mentions | API responses, avatar URLs |
| Can it change? | Yes — anyone can rename their account | No |
| Can it be reused? | Yes — a freed-up username can be claimed by someone else | No |
The login is what humans use and what appears in the URL. The user ID is what GitHub uses internally, and it never changes for the life of the account. Rename yourself three times and the number stays the same.
That permanence is why the ID matters. If you store a username as your reference to a person, you have stored something that can quietly become wrong — or worse, become someone else, because usernames released by a rename are available for others to register. A user ID cannot drift like that. It refers to exactly one account forever.
Why you'd need a GitHub user ID
- API calls and integrations. Plenty of endpoints and payloads identify people by numeric ID rather than login. If you're wiring something up against the GitHub API, you'll eventually need the number.
- Storing a stable reference. Anything that persists a link to a GitHub account — a database record, an audit log, a permissions mapping — should key on the ID, not the handle, for the reasons above.
- Attributing commits. GitHub's noreply commit email format embeds the user ID (
ID+username@users.noreply.github.com), so the number shows up in git history and sometimes has to be worked backwards. - Analysis and deduplication. When reconciling records across time or across exports, the ID is the only field you can safely join on. Usernames captured at different moments may not refer to the same account.
- Webhooks and automation. Event payloads carry sender IDs; matching them against your own records means knowing which ID belongs to whom.
What the lookup returns
The ID is displayed on its own, then these fields are pulled out into a table:
| Field | Notes |
|---|---|
| Username | The current login — this is the value that can change. |
| Name | The display name, if the account sets one. |
| Profile URL | Link to the account on GitHub. |
| Avatar | The account's profile image. |
| Company | Free-text, if the account sets one. |
| Location | Free-text, if the account sets one. |
| Only present if the account made an email public. | |
| Created At | When the account was registered. |
Fields the account hasn't filled in show as "N/A" — that's a blank profile, not a failed lookup. Below the table you get the complete raw API response as JSON, which includes everything GitHub returns beyond the fields above: follower counts, repository counts, account type, and more.
Finding a GitHub ID via the API
This tool is a wrapper around one public endpoint. You can call it yourself:
https://api.github.com/users/USERNAME
Swap in the username and the response is a JSON object whose id field is the numeric user ID:
{
"login": "octocat",
"id": 583231,
"avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4",
"html_url": "https://github.com/octocat",
"type": "User"
}
Or from a terminal:
curl -s https://api.github.com/users/octocat | jq .id
Two things to know about doing it this way. The endpoint is unauthenticated, which means it's subject to GitHub's rate limit for anonymous requests — 60 per hour, counted against your IP address. That's plenty for looking up a handful of accounts and not nearly enough for bulk work, which needs an authenticated token. And notice the avatar_url in the response above: GitHub builds avatar URLs around the numeric ID, so avatars.githubusercontent.com/u/583231 is another place the same number surfaces.
FAQ
How do I find my GitHub ID?
Enter your own username above and click "Get User ID". The number shown is your GitHub ID. It was assigned when you registered and hasn't changed since, no matter how many times you've renamed the account.
What is my GitHub ID, exactly?
It's the integer GitHub uses to identify your account internally — distinct from your username, which is the text handle in your profile URL. Both point at your account, but only the number is guaranteed never to change.
How do I find my GitHub user number?
Same thing: "user number" and "user ID" are the same field. Look up your username above, or call https://api.github.com/users/YOUR_USERNAME and read the id field.
Can I look up a GitHub user ID from a profile URL?
Yes. Paste the full URL — https://github.com/octocat — and the username is extracted from it before the lookup runs. Only github.com URLs work; a URL pointing anywhere else is rejected as invalid.
Does the ID change if someone renames their account?
No. That's exactly what makes it worth using. The username changes, the ID doesn't. This is also why a username is a poor thing to store as a long-term reference — the old handle may end up belonging to a different person entirely.
Why did I get "User not found"?
The username doesn't exist on GitHub. Check the spelling, and note that a deleted account returns the same result as one that never existed. If you passed a URL, make sure it's a profile URL rather than a link to a repository or a file inside one.
Why did I get "Please enter a valid GitHub username or URL"?
The input couldn't be resolved to a username before the lookup was attempted. That happens with a URL to a host other than github.com, a github.com URL with nothing after the domain, or a bare string containing a slash — owner/repo, for instance, which is a repository reference rather than a username.
Can I look up an organization?
The same endpoint responds for organization accounts and returns an id for them too. Organizations also have their own dedicated endpoint at https://api.github.com/orgs/ORGNAME if you need organization-specific fields.
Does this tool store what I look up?
No. The request goes from your browser straight to GitHub's public API — there's no server in between to log anything. Anything you see on this page came back from GitHub and went no further.
These tools are how Elegant Atomics thinks about growth for B2B SaaS. Work with us. Work with us →