Bulk YouTube Channel ID Finder
Paste channel URLs, @handles, usernames or video links. You get back each channel's permanent UC ID, handle and title. The finder flags duplicates and dead links. You can download the whole run as a CSV for your roster sheet.
Paste up to 25 channels, one per line. You can mix channel URLs, @handles, /c/ or /user/ links, UC… IDs and video or Shorts links. You get back each channel's permanent ID, handle and title. The finder flags duplicates and dead links. You can paste the CSV straight into a roster sheet.
Short answer
A YouTube channel ID is a permanent code of 24 characters that starts with UC. Veritasium's ID is UCHnyfMqiRRG1u-2MsSQLbXA. Handles, custom /c/ URLs and old /user/ usernames can change. The same name can also lead to two different channels. Nobody can change the ID, so the YouTube Data API, CMS reports and most analytics tools use it. This finder takes up to 25 channel URLs, @handles, usernames or video links at once. It checks OutlierKit's channel database first and reads a channel's public page only when the database doesn't know it. It flags duplicates and dead links. It adds subscriber and video counts for channels OutlierKit already tracks, and it exports the list as a CSV.
YouTube channel ID vs handle, custom URL and username
You can reach a YouTube channel through up to five kinds of link. Only one of them never changes. YouTube added handles in 2022, and most people copy handles today. Custom /c/ URLs and old /user/ usernames came first. They still work, so you still find them in old spreadsheets and video descriptions. A video link points to a channel through one of its videos. The channel ID sits under all of them.
| Identifier | Example | Can it change? | What the finder does with it |
|---|---|---|---|
| Channel ID | UCHnyfMqiRRG1u-2MsSQLbXA | Never | Uses the ID as pasted, and adds the handle and title when OutlierKit knows the channel |
| @handle | @veritasium | Yes, by the owner | Finds the channel ID in OutlierKit's database, or reads the handle's public page |
| Custom URL (/c/) | youtube.com/c/Veritasium | YouTube stopped giving these out. Old links still work. | Looks the name up among /c/ links only |
| Old username (/user/) | youtube.com/user/pewdiepie | YouTube stopped giving these out. Old links still work. | Looks the name up among /user/ names only |
| Video or Shorts link | youtu.be/PPJ6NJkmDAo | The owner can delete the video or make it private | Returns the ID, name and handle of the channel that uploaded it |
Our rule for any list of channels: store the ID and show the handle. The owner controls the handle. When a creator rebrands, every sheet that tracks the old handle breaks. The ID in the same sheet keeps working. It's also why the YouTube Data API asks for the ID almost everywhere. The channels.list method accepts a handle. Search filters, playlists and activities don't.
Why this YouTube channel ID finder reads the canonical link
For a link OutlierKit's database doesn't already know, the finder opens YouTube's own public page. It takes the ID from the canonical link. That is a tag in the page code that holds the page's official address, and the address ends in the channel ID. We ignore every other ID on the page. A channel page holds dozens of them, from recommended channels, featured shelves and collaborators. On every page we tested, the first ID in the code belonged to a different channel.
So a lookup that grabs the first ID it sees returns a real channel that looks right. It's the wrong channel, and nothing on screen tells you. The finder also handles these cases:
- The finder keeps /c/ names and /user/ names apart. For example, youtube.com/c/Veritasium and youtube.com/user/Veritasium are two different channels. Each one has its own ID. The /user/pewdiepie link has no /c/ version at all. If you rewrite one as the other, you get the wrong channel or nothing, and no warning.
- A UC ID you paste is used as it stands. The finder doesn't open a page to confirm it, so check a pasted ID against the title it comes back with. If the title is blank, look for a typo.
- Watch URLs, youtu.be short links, Shorts and live URLs all return the channel that published the video. The finder reads the uploader from the video's own details. It skips channels in the comments and the sidebar.
- A handle in row 2 and a video link in row 20 can be the same channel. The finder compares rows by the channel ID each one leads to. So it catches that pair, and the duplicate never costs a second lookup.
| Status | What it means | What to do |
|---|---|---|
| Found | A public channel exists at that link | Nothing. The ID is ready to use. |
| Duplicate | Leads to the same channel as an earlier row | Remove it from the roster. The note under the status names the row it repeats. |
| Not found | No public channel at that link | Check for a typo, a changed handle, or a terminated channel. |
| Not a channel link | The finder can't read the text as a YouTube channel or video | Replace it with the channel URL or @handle. |
| Could not check | YouTube did not respond for that row | Run the batch again. This is usually temporary. |
| Not checked | The hourly limit for YouTube lookups ran out before this row | Run it again later. Rows the database already knew still came back. |
Bulk channel ID lookup for agencies managing multiple YouTube channels
Looking up one ID is easy. A column of IDs makes a roster, and we built this finder for rosters. Agencies, networks and brand teams inherit channel lists. The lists come from onboarding forms, creator applications and old spreadsheets. They use every link format above, and two people often enter the same creator twice. You need each row's permanent ID before the list goes into reporting, payouts or an API.
We built the CSV for that job. It keeps every row in the order you pasted, failures too. So you can lay it next to the original sheet and match it line by line.
| CSV column | Contains | Example |
|---|---|---|
| input | Exactly what you pasted in that row | youtube.com/user/pewdiepie |
| status | found, duplicate, not_found, invalid, error or limited | found |
| channel_id | The permanent UC channel ID | UC-lHJZR3Gqxm24_Vd_AJ5Yw |
| channel_url | A link made from the ID that still works after a handle change | youtube.com/channel/UC-lHJZR3Gqxm24_Vd_AJ5Yw |
| handle | The channel's current @handle | @PewDiePie |
| title | The channel's current name | PewDiePie |
| subscribers, videos, total_views | Public counts, for channels OutlierKit already tracks | 109000000 |
| country, created | Country and creation date, if public | 2010-04-29 |
Why the CSV is safe to open in Excel
Running many channels also means handling access, permissions and approvals. For that, read how to manage multiple YouTube channels and managing client YouTube channels. Networks with partner access work in YouTube CMS, where reports use the ID to identify each channel. Our Data API vs Content Owner API comparison shows which API your list of IDs should feed. Once your IDs are clean, the YouTube channel health checker scores any one of them on growth, recent performance and upload consistency.
How to find a YouTube channel ID from a URL, handle or video
Use the finder in five steps. Step four catches a link that points to a different channel from the one you meant.
- 01
Paste the list as you have it, one channel per line
You can mix every link type in one list. Channel URLs, @handles, bare handles, /c/ and /user/ links, UC IDs and video or Shorts links all work. Paste up to 25 per run. If you paste a sheet column with commas or tabs, the finder splits it for you. - 02
Leave subscriber counts on for the first pass
The finder adds subscriber and video counts for channels OutlierKit already tracks. The counts are the fastest way to check each match. They help you spot an older channel with the same name. - 03
Read the status column before you copy anything
Found rows are ready to use. A duplicate row names the row it repeats. The finder matches rows by channel ID, so it catches two different links to one channel. Not found means YouTube has no public channel at that link. Not a channel link means the finder couldn't read the text as a channel link. Not checked means the hourly lookup limit ran out, so run that row again later. - 04
Does the handle match the channel you expected?
A /user/ link and a /c/ link with the same name can be two different channels. Check the handle in the result. If it isn't the one you know, the link in your sheet points to a different channel. The ID is still right for the channel the link points to. - 05
Copy the unique IDs, or take the CSV
Copy puts one ID per line on your clipboard and drops the duplicates. The CSV keeps every row in the order you pasted, failures too. You can paste it back next to the sheet it came from.
Without the tool, you can find an ID by hand in two ways. If you own the channel, YouTube lists the ID at youtube.com/account_advanced. For any other channel, open the channel page and view the page source. Search for canonical. That link ends in /channel/ and then the ID. Don't search the source for "channelId". The first match usually belongs to a different channel.
Looking up IDs in your own code?
What this bulk YouTube channel ID finder handles
25 channels a run
Paste a whole roster column at once
Every link format
URLs, @handles, bare handles, /c/, /user/ and UC IDs
Video and Shorts links
Returns the uploader's channel ID
/c/ and /user/ names kept apart
The finder never swaps a /c/ name for a /user/ name
Duplicate detection
Matches rows by channel ID to catch two links to one channel
Subscriber and video counts
For channels OutlierKit already tracks, to confirm each match
Spreadsheet-safe CSV
Keeps your row order and UTF-8 and stops formulas from running
Copy unique IDs
One ID per line with no duplicates, ready for a script
Where this channel ID finder stops
Frequently asked questions
How do I find a YouTube channel ID?
Paste the channel's URL, @handle or one of its video links into the finder above. It gives you the ID. If you own the channel, YouTube shows the ID at youtube.com/account_advanced. To find it by hand, open the channel page and view the page source. Search for the canonical link. The part after /channel/ is the ID.
What does a YouTube channel ID look like?
It has 24 characters and always starts with UC, for example UCHnyfMqiRRG1u-2MsSQLbXA. The rest is letters, digits, hyphens and the _ character. The channel's URL is youtube.com/channel/ plus that ID. That URL keeps working after the owner changes the handle.
Can I convert a YouTube handle to channel ID?
Yes. Paste the handle, with or without the @. The finder looks the handle up in OutlierKit's channel database, or reads its public page, and returns the channel ID. The owner can change the handle later, and the ID stays the same. So store the ID in your roster and use the handle as a label.
Can I get the YouTube channel ID from video links?
Yes. Paste a youtube.com/watch URL, a youtu.be short link, or a Shorts or live URL. The finder returns the ID, name and handle of the channel that uploaded the video. It's the quickest route when someone only sent you a video.
Does a YouTube channel ID ever change?
No. YouTube gives each new channel a UC ID, and the channel keeps it for life. Owners can change handles, channel names and custom URLs. Nobody can change the ID. So APIs and CMS reports use the ID to identify each channel.
What is the difference between a /c/ URL and a /user/ URL?
They are two separate sets of names. Links with /user/ come from the original YouTube usernames. Links with /c/ are custom URLs that YouTube added later. The same name can belong to two different channels. For example, youtube.com/c/Veritasium and youtube.com/user/Veritasium lead to different IDs. The finder looks up each name in its own set and never swaps one for the other.
How many channels can one YouTube channel ID lookup handle?
You can check 25 per run. Channels OutlierKit already tracks also get subscriber and video counts. For a longer roster, run it in batches of 25. Lookups that have to read YouTube count toward an hourly limit, so a very long roster may need a second pass later.
Why does a row say not found?
YouTube has no public channel at that link. The usual cause is a typo or a handle the owner has changed. A deleted or terminated channel shows as not found too, and so does a private video. A UC ID you paste is used as it stands, so a mistyped ID won't say not found. Check a pasted ID against the title it comes back with.
Why are subscriber counts missing for some channels?
Counts come from OutlierKit's own channel database. We don't buy them one lookup at a time. A channel we don't track yet still gets its ID, handle and title, just no counts. Duplicate rows never get counts. The note above the results table tells you how many channels had them.
Why are the subscriber counts rounded?
YouTube only shows rounded subscriber counts for channels above 1,000 subscribers. Every public source shows the rounded number, and so does this one. Only the channel owner sees the exact number, in YouTube Studio.
Does the YouTube Data API accept handles instead of channel IDs?
Mostly no. The channels.list method takes a forHandle parameter, and forUsername for old channels. Each call costs 1 quota unit. Almost every other method needs the channel ID. That includes search filters, playlists, activities and analytics. So look up each channel once and store the ID.
Is this YouTube channel ID finder free, and do I need to sign in?
It's free, and you don't need an account. It reads only public YouTube pages and public channel stats. So it works on any channel, even ones you don't manage. Each visitor gets an hourly limit, and that limit is how we keep it free.
Research every channel on your roster in OutlierKit
Clean IDs are the start. OutlierKit researches the channels behind them. It shows which videos beat their own channel's average and how each channel is trending. It also shows what is breaking out across the niche.