A Chrome extension that extracts RSS feed URLs from YouTube channels and videos. Subscribe to your favorite creators in any RSS reader.
RSS (Really Simple Syndication) lets you follow YouTube channels without:
- No algorithm - See every video in chronological order, not what YouTube thinks you want
- No account required - Subscribe without logging in or being tracked
- No notifications - Check your feed when you want, not when YouTube wants
- One place for everything - Combine YouTube with blogs, news, and podcasts in one reader
- No distractions - Skip the homepage, comments, and recommended rabbit holes
Popular RSS readers: Feedly, Inoreader, NewsBlur, Miniflux
- Extract RSS feed URL from any YouTube channel or video page
- One-click copy to clipboard
- Preview latest videos directly in the popup
- Works on channel pages, video pages, and Shorts
- Minimal permissions (only accesses youtube.com)
- No data collection or external requests (except to YouTube's RSS feed)
- Download or clone this repository
- Open Chrome and navigate to
chrome://extensions/ - Enable Developer mode (toggle in top right)
- Click Load unpacked
- Select the extension directory
- Navigate to any YouTube channel or video page
- Click the extension icon in your toolbar
- The RSS feed URL will be displayed
- Click the copy button to copy the URL
- Paste into your RSS reader (Feedly, Inoreader, NewsBlur, etc.)
The extension uses multiple strategies to detect the channel ID:
- DOM Elements - Parses video owner links and channel headers
- RSS Meta Tags - Reads
<link rel="alternate" type="application/rss+xml">on channel pages - Script Data - Falls back to searching YouTube's initial data scripts
Once the channel ID is found, it constructs the RSS URL:
https://www.youtube.com/feeds/videos.xml?channel_id=UC...
If you prefer not to install the extension, you can get YouTube RSS feeds manually:
- Go to any YouTube channel page
- Right-click → View Page Source (or press
Ctrl+U) - Search for
channel_id(pressCtrl+F) - Copy the ID that starts with
UC(e.g.,UCxxxxxxxxxxxxxxxxxxxxxx) - Construct the RSS URL:
https://www.youtube.com/feeds/videos.xml?channel_id=YOUR_CHANNEL_ID
- Go to any video from the channel
- Click the channel name to go to their channel page
- The URL will be one of:
youtube.com/channel/UCxxxxxx→ TheUCxxxxxxpart is the channel IDyoutube.com/@username→ View page source and search forchannel_id
- Use the channel ID in the RSS URL format above
On any YouTube video or channel page, open Developer Tools (F12) and run:
document.querySelector('meta[itemprop="channelId"]')?.content
|| document.querySelector('link[rel="alternate"][type="application/rss+xml"]')?.href.match(/channel_id=([^&]+)/)?.[1]https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID
Example for a channel with ID UC_x5XG1OV2P6uZZ5FSM9Ttw:
https://www.youtube.com/feeds/videos.xml?channel_id=UC_x5XG1OV2P6uZZ5FSM9Ttw
youtube-rss-extractor/
├── manifest.json # Extension configuration (Manifest V3)
├── background.js # Service worker for badge updates
├── content.js # Content script for channel detection
├── popup.js # Popup UI logic
├── index.html # Popup markup
├── styles.css # Popup styling
└── icons/ # Extension icons
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ background.js │────▶│ content.js │◀────│ popup.js │
│ (service worker)│ │ (YouTube page) │ │ (extension UI) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
Badge update Channel detection RSS display
- User navigates to YouTube →
background.jsdetects URL change background.jssendsCHECK_AVAILABILITYtocontent.jscontent.jsscans page for channel ID, returns availability- If found, badge shows "RSS" indicator
- User clicks extension →
popup.jssendsGET_CHANNEL_DETAILS content.jsreturns channel ID, name, and RSS URLpopup.jsfetches RSS feed and displays recent videos
No build step required. The extension runs directly from source files.
To test changes:
- Make your edits
- Go to
chrome://extensions/ - Click the refresh icon on the extension card
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Commit your changes (
git commit -m 'Add my feature') - Push to the branch (
git push origin feature/my-feature) - Open a Pull Request
This extension:
- Only activates on youtube.com pages
- Does not collect any user data
- Does not make requests to any third-party servers
- Only fetches YouTube's public RSS feeds (when you open the popup)
See PRIVACY.md for the full privacy policy.
MIT License - see LICENSE for details.
