How to Find a Username from an Instagram or Facebook ID
You already have the number. Paste it, get the current handle, and skip the numbers that are not people.
Paste the digits into the Instagram User ID Lookup or the Facebook User ID Lookup. On this site Instagram IDs are 6 to 25 digits; a shorter number belongs on Facebook — 4 is Mark Zuckerberg. You get the username the account uses today. This is the public profile number, not an app-scoped Graph API token, and a post URL will not work.
Key takeaways
- The Instagram lookup on this site accepts numeric IDs of 6–25 digits. The Facebook lookup accepts 1–25 digits that do not start with zero. A five-digit number is never Instagram here.
- The number is assigned once. A reverse lookup still finds the account after a rename; that is the point of storing an ID instead of a handle.
- The Instagram box rejects paths that start with
p/,reel/,stories/orexplore/. Copy the profile URL or the @username, not a post. - A 17- to 19-digit number may be a tweet. X Snowflake IDs store the time as
(id >> 22) + 1,288,834,974,657milliseconds. A tweet at 00:00 UTC on 1 January 2024 has a lower bound of 1,741,610,183,685,046,272. - The same spelling is not valid everywhere.
john.smithis allowed on Instagram (1–30 characters, letters, digits, periods, underscores) and Facebook (letters, digits, periods), and is rejected on X, which allows no period and a 15-character maximum. - A string starting with
UCplus 20–30 more characters is a YouTube channel ID, not a user number. Hyphens in 8-4-4-4-12 form are a UUID.
On this page
- How do I turn this number into a username?
- Which kind of ID is this number?
- How does the Instagram lookup work in both directions?
- What about a Facebook profile.php?id= URL?
- What if the number is actually a tweet?
- A worked set of real inputs
- Why does the same handle fail on another site?
- Is this the ID a developer form is asking for?
- Questions people ask next
- Terms worth knowing
- All 6 tools in this guide
- Authoritative sources
How do I turn this number into a username?
Start with the shape of what you copied, then paste it into one box.
| Step | What to do | What you get |
|---|---|---|
| 1 | Count digits and look for UC, hyphens, or a /p/ path. | Which lookup to open, or which one to skip. |
| 2 | 6–25 digits from Instagram: paste into the Instagram User ID Lookup. | The current @username and profile card. |
| 3 | 1–5 digits, or a profile.php?id= URL: paste into the Facebook User ID Lookup. | The public username, or a group if the URL contains /groups/. |
| 4 | 17–19 digits: paste into the Twitter/X Timestamp Converter before anything else. | A post date if it is a tweet; if the date is nonsense, go back to step 2. |
| 5 | Open the profile URL the lookup returns and read the handle on the page. | Confirmation that the number and the account match. |
Which kind of ID is this number?
The table is the rule this site enforces, not a guess about every ID ever issued.
| What you copied | Shape this site looks for | Tool that answers |
|---|---|---|
| Instagram user ID | Digits only, length 6–25 | Instagram User ID Lookup |
| Facebook user, page or group ID | Digits only, length 1–25, first digit 1–9 | Facebook User ID Lookup |
| X / Twitter tweet ID | Usually 17–19 digits; timestamp in the top 41 bits | Twitter/X Timestamp Converter |
| YouTube channel ID | Starts with UC, then 20–30 letters, digits or hyphens | YouTube Channel Statistics |
| UUID / GUID | 8-4-4-4-12 hex, with or without braces | UUID Validator/Decoder |
A 19-digit Instagram ID and a 19-digit tweet ID look the same until you decode the Snowflake timestamp. A four-digit Facebook ID will never pass the Instagram box.
How does the Instagram lookup work in both directions?
The same form detects the input. A value matching ^[0-9]{6,25}$ is treated as an ID. Anything else is treated as a username or profile URL after the tool strips instagram.com/, instagr.am/ and a leading @. Usernames may only contain letters, digits, periods and underscores, max 30 characters. Full-width IME punctuation is folded to ASCII first.
The public ID does not change when the handle does. The lookup's own example ID, 25025320, is the public ID of @instagram. Paste the number and you should get that handle; paste instagram and you should get that number.
What about a Facebook profile.php?id= URL?
Facebook still serves many profiles as facebook.com/profile.php?id= plus a number. The lookup reads that query string, so you can paste the whole link. A username there may only contain letters, digits and periods, length 1–100, and must not be all digits. Fourteen path names are reserved, including login, groups, pages and profile.php.
If the URL contains /groups/, the lookup asks for a group ID. A bare number is treated as a user, which is the usual reason a group ID comes back empty.
What if the number is actually a tweet?
X assigns every tweet a Snowflake ID. The Unix time in milliseconds is (id >> 22) + 1,288,834,974,657 — 4 November 2010, 01:42:54.657 UTC, the epoch this converter uses. The remaining bits are machine and sequence fields. None of them names a person.
1 January 2024, 00:00:00 UTC is 1,704,067,200,000 ms. Subtract the epoch, shift left 22 bits, and you get 1,741,610,183,685,046,272. A number that large that decodes to a real date is a tweet. Instagram's example ID 25025320 decodes to the epoch itself, so it is not a Snowflake.
If the value has hyphens, it is not a social ID at all. Run it through the validator so you can see the version and, for a v1 UUID, the timestamp.
A worked set of real inputs
Each row is a value you can paste today. The tweet bound is computed from the converter's own epoch.
| Paste this | Where | What it should return |
|---|---|---|
25025320 | Instagram lookup | Username instagram |
instagram or instagram.com/instagram | Instagram lookup | ID 25025320 |
instagram.com/p/… | Instagram lookup | Rejected: not a profile URL |
4 or facebook.com/profile.php?id=4 | Facebook lookup | Username zuck |
4 | Instagram lookup | Rejected: IDs here are 6–25 digits |
1741610183685046272 | Timestamp converter | 1 January 2024, 00:00:00.000 UTC (lower bound) |
a 24-character string starting with UC | YouTube Channel Statistics | Treated as a channel ID, not as an @handle |
Why does the same handle fail on another site?
The Social Media Username Checker tests 15 platforms. A red “invalid” is a format miss, not a taken name.
| Platform | Length | Extra characters allowed |
|---|---|---|
| Instagram, Medium | 1–30 | period, underscore |
| X / Twitter, Snapchat | 1–15 / 3–15 | underscore (Snapchat also period and hyphen; must start with a letter) |
| Facebook lookup | 1–100 | period only; 14 reserved path names blocked |
| TikTok | 2–24 | period, underscore |
| YouTube handle | 3–30 | period, underscore, hyphen |
| GitHub, Reddit, Twitch, LinkedIn, others | see the checker | hyphens or underscores; GitHub forbids a hyphen at either end |
Is this the ID a developer form is asking for?
Only if the form wants the public Instagram or Facebook user number. These lookups read public profile pages and return the ID on that page (on Instagram, the profilePage_ number).
It is not automatically:
- an app-scoped user ID from Facebook Login, which is different in every app;
- an Instagram Graph API business account ID, which Facebook issues after you connect a professional account;
- a Page ID unless you looked up a page;
- a tweet ID, YouTube channel ID or UUID.
If the form also offers “Continue with Facebook”, use that. Pasting a public ID into a box that expects an app-scoped ID fails even when this lookup is correct.
Questions people ask next
How do I find a username from an Instagram ID?
Paste the number into Instagram User ID Lookup. On this site an Instagram ID is 6 to 25 digits. The lookup returns the current @username, and because the number is assigned once, it still works after the account has renamed itself. Deleted or deactivated accounts cannot be resolved.
How do I find a username from a Facebook ID?
Paste the number into Facebook User ID Lookup. Facebook IDs here are 1 to 25 digits and do not start with zero. ID 4 is Mark Zuckerberg's profile. If the input is a facebook.com/profile.php?id= URL, the same box reads the number for you. Groups need a /groups/ URL so the lookup does not treat the group as a user.
Why does the Instagram lookup reject my number as too short?
Because this Instagram lookup only accepts 6 to 25 digits. A one- to five-digit number is not treated as Instagram here. Try Facebook User ID Lookup instead: Facebook issued short IDs early, including 4. A 17- to 19-digit number may be a tweet ID rather than an account; the timestamp converter will say so if the decoded date is real.
Can I paste an Instagram post or reel URL to get the user ID?
No. The Instagram lookup rejects paths that start with p/, reel/, stories/ or explore/. Those URLs identify a piece of media, not a profile. Open the account, copy the profile URL (instagram.com/username) or the @username, and paste that. The other direction is the same: a numeric ID looks up a profile, not a post.
Is this the Instagram ID a Graph API form is asking for?
Not necessarily. These lookups return the public numeric ID that appears on the public profile. Instagram Graph API calls after Facebook Login often want an app-scoped or business-account ID issued to that app. If a dashboard asks for a user ID and also has a Login with Facebook button, use that button. Use this lookup when you already have a public number or a public profile URL.
Does the ID still work after someone changes their username?
Yes. Instagram and Facebook assign the numeric ID once and do not change it when the handle changes. That is the reason to store the ID rather than the username if you keep your own records. The reverse lookup always returns whatever handle the account uses today, which is why a number from last year can still find the account.
How can I tell a tweet ID from an Instagram ID?
Tweet IDs on X are Snowflake IDs: 64-bit numbers whose timestamp is (id shifted right 22 bits) plus 1,288,834,974,657 milliseconds. A tweet posted at 00:00 UTC on 1 January 2024 has a lower bound of 1,741,610,183,685,046,272 (19 digits). Paste a 17- to 19-digit number into the timestamp converter first. If you get a plausible post date, it is a tweet, not a person.
Terms worth knowing
- Public user ID
- The numeric identifier on a public profile. Stable across username changes. What these lookups return.
- Username / handle
- The public spelling, like
zuck. People change these; the reverse lookup exists because of that. - App-scoped ID
- An ID Facebook issues to one app after Login. Another app sees a different number. A public lookup cannot produce it.
- Snowflake ID
- A 64-bit X identifier with the timestamp in the top 41 bits. Tweet IDs are Snowflakes; Instagram profile IDs are not.
- Channel ID
- YouTube's stable identifier, usually 24 characters starting with
UC, separate from the@handle. - UUID
- A 128-bit identifier, often grouped 8-4-4-4-12. Not an Instagram or Facebook user ID.
All 6 tools in this guide
Authoritative sources
- Instagram Graph API — Meta for Developers — the business-account IDs issued after Facebook Login, which are not what a public profile lookup returns.
- Graph API User reference — Meta for Developers — app-scoped user IDs versus the public profile number.
- Snowflake README — twitter-archive — the 41-bit timestamp, 10-bit machine id and 12-bit sequence, and the 1288834974657 epoch.
- YouTube Data API Channels — Google — channel IDs that start with
UC, as distinct from @handles. - UUID — Wikipedia — the 8-4-4-4-12 layout the validator on this site parses.