sociallinks.dev

Blog / Comparison

Username vs user ID: why social handles change and IDs don't

Every social account has two identities. The username is the public handle people type, tag and put in URLs. The user ID is an internal number or string the platform assigns when the account is created. Most people only ever see the handle, so most spreadsheets and CRMs store the handle. That works until a creator rebrands, and then the row quietly points at nothing, or at someone else. This guide compares the two on each major platform and shows how to store creators so a rename does not break your data.

The quick answer

A username is for humans and can usually be changed by the account owner. A user ID is for machines and stays with the account for its whole life. If you need to recognize the same account next month, store the ID. Keep the handle too, because it is what you show people and what you search with, but treat it as a label that can go stale.

Username (handle)User ID
What it isThe public name in the profile URL, such as @sophiemillerA number or string the platform assigns at sign-up
Who picks itThe account ownerThe platform
Can it changeYes, within each platform's limitsNo, it stays with the account
Can it be reusedYes, a released handle can be claimed by someone elseNo, it is never given to another account
Where you see itProfile, URLs, mentions, tagsAPIs, exports, some URLs, page source
Good forDisplay, search, outreachDatabase keys, deduplication, tracking over time

How each platform handles it

The rules differ by platform, and they change. The limits below come from each platform's help pages at the time of writing. Check the linked page before you build anything that depends on an exact number.

PlatformHandle and URLStable IDHow often the handle can change
YouTubeyoutube.com/@handle, plus legacy /c/name and /user/name URLs on older channelsChannel ID starting UC, in youtube.com/channel/UC...Twice within 14 days, per YouTube Help
Xx.com/screen_nameNumeric user ID, returned by the API as a stringChangeable in settings; X's developer docs call screen names unique but subject to change
TikToktiktok.com/@usernameInternal user ID; the official API returns app-scoped IDsOnce every 30 days, per TikTok Support
Instagraminstagram.com/usernameNumeric account ID, exposed through Meta's APIs for professional accountsChangeable from Edit profile; the app shows how many times it has changed
Facebookfacebook.com/username for profiles and PagesNumeric profile or Page IDChangeable; Facebook warns you may not get the old one back
LinkedInlinkedin.com/in/custom-urlInternal member ID, not shown on the profileUp to five times in six months, per LinkedIn Help

YouTube: handle, channel ID and legacy URLs

YouTube has the most identifiers. The channel ID is the string that begins with UC in youtube.com/channel/UC..., and YouTube describes it as the unique identifier in your channel URL. The handle is the @name form, and YouTube's handles overview says a handle automatically becomes the channel's URL. Older channels may also have a custom URL like youtube.com/c/Name, which can no longer be created or changed, and a legacy username URL like youtube.com/user/Name, which cannot be changed. According to YouTube's page on channel URLs, these legacy URLs still work and redirect to the handle URL.

To find a channel ID, open the channel, view its description panel and use the share option to copy the channel ID, or look for the /channel/UC... URL. Of all the forms, only the channel ID is guaranteed to stay the same.

X: screen name and numeric ID

On X, the @screen_name is what people see, and every account also has a numeric ID. X's developer documentation states plainly that the ID never changes while the screen name can, and recommends using the string form of the ID because the number can be too large for some languages to handle. The API can look up an account by username, so you can convert a handle to an ID once and store the result.

TikTok: username and app-scoped IDs

A TikTok username appears in tiktok.com/@username and, per TikTok Support, can be changed once every 30 days. Changing it also changes the profile link. The display name is separate and is not the handle. If you use TikTok's official API with creator login, note that the open_id it returns is unique to your app, while union_id stays the same across apps from the same developer, according to TikTok's developer docs. Either is more stable than the username for records inside your own systems.

Instagram, Facebook and LinkedIn

Instagram usernames sit at the end of instagram.com/username and can be changed from Edit profile. Instagram's About this account screen shows how many times an account's username has changed, though not the old names. Behind the handle, each account has a numeric ID that Meta's APIs use for business and creator accounts. Facebook profiles and Pages have both a username in the URL and a numeric ID, and Facebook's help page warns that you may not be able to reclaim a username once you change it. On LinkedIn, the custom part of linkedin.com/in/... can be changed up to five times in six months, and the previous URL stays linked to the member for six months unless they unlink it.

Why your database should key on IDs

A primary key has one job: point at the same thing forever. Handles fail that test in three ways.

A practical schema stores one row per account, with the platform and the platform's ID as the unique key, and the handle, display name and profile URL as ordinary fields you refresh. Add a handle_checked_at date so you know how fresh the handle is, and keep a history table of past handles so old mentions, contracts and reports can still be matched.

FieldExampleRole
platformyoutubePart of the unique key
platform_idUCxxxxxxxxxxxxxxxxxxxxxxPart of the unique key; never edited
handle@sophiemillerDisplay and search; refreshed
profile_urlhttps://www.youtube.com/@sophiemillerBuilt from the handle or ID
handle_checked_at2026-10-23When the handle was last confirmed
creator_idYour own internal IDGroups one person's accounts across platforms

If you only have handles today, you can still normalize them so duplicates are easier to spot. A sheet formula like the one below lowercases a handle and strips the @ and spaces. It does not solve renames, but it stops the same account appearing twice.

Google Sheets: normalize a handle in A2

=LOWER(TRIM(SUBSTITUTE(A2, "@", "")))

What breaks when a creator changes their handle

When the handle changes, everything built on the old one is at risk. These are the common failures teams find after the fact:

How to recover a renamed account

If you stored the ID, recovery is one lookup. If you only stored the handle, work through these steps.

  1. Step 1Look the account up by ID if you have it

    Use the platform's own API or a URL that accepts the ID, such as youtube.com/channel/UC.... The ID still resolves after a rename and gives you the current handle.

  2. Step 2Try the old URL

    Open the stored link. YouTube legacy URLs and recently changed handles may redirect, and on some platforms an old handle stays reserved for a short time after a change. If the page now shows different content, assume the handle has been reused.

  3. Step 3Follow the creator's other accounts

    Open a platform you know is still correct and check the links in their bio, link-in-bio page or website. A creator who renames on one platform usually updates the link from the others.

  4. Step 4Search their name and content

    Search the display name, a recent video title or a distinctive phrase from their bio. Confirm a match with the same face, content and posting history, and a link back to a known account.

  5. Step 5Store the ID and log the old handle

    Once confirmed, save the platform ID, update the handle and move the old handle into your history table so earlier records still match.

For a single YouTube channel, you can turn a handle into a channel ID with the YouTube Data API's channels.list method, which accepts a forHandle parameter (and forUsername for legacy usernames) and costs one quota unit per call.

Node.js

// Resolve a YouTube handle to its stable channel ID.
const handle = "@sophiemiller";
const url = new URL("https://www.googleapis.com/youtube/v3/channels");
url.searchParams.set("part", "id,snippet");
url.searchParams.set("forHandle", handle);
url.searchParams.set("key", process.env.YOUTUBE_API_KEY);

const res = await fetch(url);
const data = await res.json();
const channel = data.items?.[0];
console.log(channel ? channel.id : "No channel for that handle"); // UC...

Which to use when

You need both, for different jobs. A simple rule: identify with IDs, communicate with handles.

TaskUseWhy
Primary key in a database or CRMUser IDIt never changes or gets reused
Deduplicating a creator listUser ID, then normalized handleIDs catch renames; normalized handles catch formatting
Briefs, emails and reports for peopleHandle and profile URLPeople recognize handles, not numbers
ContractsHandle, URL and IDDescribes the account even after a rename
Social listening and mention alertsHandle, refreshed regularlyMentions use the current handle
Tracking growth over monthsUser IDKeeps one continuous history

If you collect creators by hand, the habit that matters most is capturing the ID at the moment you add someone, when you are sure it is the right account. Fixing it later is slower and less certain.

Keeping cross-platform records current

IDs solve renames within one platform, but a creator is usually several accounts on several platforms. Grouping them under one internal creator ID, and re-checking handles on a schedule, keeps a creator database useful. If you start from a single profile link and need the creator's other accounts, sociallinks.dev can find them for you and return the matches through an API, which you can then store against each platform's ID.

FAQ

What is the difference between a username and a user ID?

A username is the public handle the account owner chooses and can usually change. A user ID is an identifier the platform assigns when the account is created, and it stays with the account for its whole life, even after renames.

Does a YouTube channel ID ever change?

No. The channel ID, the string beginning with UC in youtube.com/channel/UC..., is the channel's unique identifier. The handle and display name can change, and legacy custom URLs redirect, but the channel ID stays the same.

How often can you change your TikTok username?

TikTok Support says a username can be changed once every 30 days. Changing it also changes the profile link, so stored links to the old username may stop working.

Can someone else take a creator's old handle?

Yes. On most platforms a released handle can eventually be claimed by another account. Some platforms hold it briefly first. This is why a handle stored in a CRM can end up pointing at a different person.

How do I find an X user ID from a username?

Use the X API's user lookup by username, which returns the account's numeric ID. Store the string form of the ID, as X's developer documentation recommends, since the number can be too large for some programming languages.

Should I store handles at all if I have IDs?

Yes. Handles are what people recognize and what you need for outreach and search. Store them as refreshable fields with a last-checked date, and keep old handles in a history so earlier records still match.

Find a creator’s accounts