Skip to content

Instantly share code, notes, and snippets.

@ganobrega
Created February 2, 2026 02:10
Show Gist options
  • Select an option

  • Save ganobrega/04f314c6585f677a1854dd20e3441663 to your computer and use it in GitHub Desktop.

Select an option

Save ganobrega/04f314c6585f677a1854dd20e3441663 to your computer and use it in GitHub Desktop.
Get YouTube uploads playlist from channel page (no API)
YOUTUBE UPLOADS PLAYLIST BOOKMARKLET (UC → UU)
=============================================
OVERVIEW
--------
This bookmarklet extracts the YouTube Channel ID from the current channel page,
converts it from "UC..." to the Uploads playlist ID "UU...", and opens the
Uploads playlist in a new tab.
Works on YouTube channel pages, including "/@handle" URLs.
WHAT IT DOES
------------
1) Detects the YouTube Channel ID (starts with "UC")
2) Converts "UC" → "UU" (Uploads playlist)
3) Opens the uploads playlist in a new tab
SETUP (CHROME / EDGE / BRAVE)
-----------------------------
1) Show the bookmarks bar:
- Windows/Linux: Ctrl + Shift + B
- macOS: Cmd + Shift + B
2) Right-click the bookmarks bar → Add page… / Add bookmark…
3) Fill in:
Name: YT – Play All Uploads
URL: (paste the BOOKMARKLET CODE below)
4) Save
SETUP (FIREFOX)
---------------
1) Enable Bookmarks Toolbar:
View → Toolbars → Bookmarks Toolbar
2) Right-click the toolbar → Add Bookmark…
3) Fill in:
Name: YT – Play All Uploads
Location: (paste the BOOKMARKLET CODE below)
4) Save
HOW TO USE
----------
1) Open a YouTube CHANNEL page (not a video page)
Example:
https://www.youtube.com/@somechannel
2) Click the bookmarklet you saved
3) A new tab opens:
https://www.youtube.com/playlist?list=UU...
BOOKMARKLET CODE (AUTO-OPEN UPLOADS PLAYLIST)
---------------------------------------------
IMPORTANT: Paste this as ONE SINGLE LINE in the bookmark URL field.
javascript:(()=>{const channelId=document.querySelector('meta[itemprop="channelId"]')?.content||window.ytInitialData?.metadata?.channelMetadataRenderer?.externalId;if(!channelId?.startsWith('UC')){alert('YouTube Channel ID not found');return}const playlistUrl=`https://www.youtube.com/playlist?list=${channelId.replace(/^UC/,'UU')}`;window.open(playlistUrl,'_blank')})()
OPTIONAL VARIATIONS
-------------------
A) Open uploads + live streams (UULT)
Paste as one line:
javascript:(()=>{const id=document.querySelector('meta[itemprop="channelId"]')?.content||window.ytInitialData?.metadata?.channelMetadataRenderer?.externalId;if(!id?.startsWith('UC')){alert('Channel ID not found');return}window.open(`https://www.youtube.com/playlist?list=${id.replace(/^UC/,'UULT')}`,'_blank')})()
B) Open full feed (uploads + shorts) (UULF)
Paste as one line:
javascript:(()=>{const id=document.querySelector('meta[itemprop="channelId"]')?.content||window.ytInitialData?.metadata?.channelMetadataRenderer?.externalId;if(!id?.startsWith('UC')){alert('Channel ID not found');return}window.open(`https://www.youtube.com/playlist?list=${id.replace(/^UC/,'UULF')}`,'_blank')})()
TROUBLESHOOTING
---------------
- A search page opens instead of running code:
Make sure the URL starts with "javascript:" and is a single line.
- Alert says "Channel ID not found":
Refresh the channel page and try again (YouTube loads dynamically).
- Doesn’t work on video pages:
This is meant for CHANNEL pages only.
NOTES
-----
- "UC..." = Channel ID
- "UU..." = Auto-generated uploads playlist
- No YouTube Data API required
- No extensions needed
/**
* Get YouTube channel uploads playlist (UC → UU)
* Run on a YouTube channel page
*/
const channelId =
document.querySelector('meta[itemprop="channelId"]')?.content ||
window.ytInitialData?.metadata?.channelMetadataRenderer?.externalId
if (!channelId?.startsWith('UC')) {
console.error('[YT] Channel ID not found')
} else {
const uploadsPlaylistId = channelId.replace(/^UC/, 'UU')
const uploadsPlaylistUrl =
`https://www.youtube.com/playlist?list=${uploadsPlaylistId}`
console.log('[YT] Channel ID:', channelId)
console.log('[YT] Uploads playlist:', uploadsPlaylistUrl)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment