YouTube Alchemy
This toolkit enhances YouTube by customizing the layout and adding more than 130 seamless, native-feeling features. Designed to be resource-efficient, it primarily relies on YouTube's own event listeners while using timeouts and mutation observers strategically to minimize overhead. Furthermore, a main settings panel, along with three sub-panels, provides an intuitive interface for easy customization.
Overview
- Main Settings Panel: Manage the Transcript Exporter and export, import, or reset settings to their defaults.
- Links in Header Panel: Add custom links next to the YouTube logo and hide the navigation bar.
- Features & CSS Panel: Access key features like tab view, playback speed, video quality, prevent autoplay, hide Shorts, default transcript language, disable play on hover, square design, auto-theater mode, auto-close chat windows, number of videos per row, modify or hide various UI elements, and much more.
- Color Code Videos Panel: Apply customizable borders to videos on the Home page, reflecting their age and status, and highlight the last uploaded video on the Subscriptions page with optional auto-scroll.


![]()

![]()
Transcript Exporter
Adds buttons to the YouTube header to export a video's transcript to LLMs, with or without a prompt, or to download it as a text file.
- Buttons with Color-Coded Interface in the Main Settings Panel
- Button One | Green 🎧 Copies the transcript and opens NotebookLM.
- Button Two | Blue 💬 Copies the transcript with a prompt for summarizing and opens ChatGPT.
- Button Three | Red ↓ Downloads the transcript as a text file.
- Button Four | White ⋮ Opens the main settings panel.
- Transcript Formatting: Includes timestamps, chapter headers, video title, channel name, upload date, and URL.
- Text File Naming Format
- Title - Channel.txt (default)
- Channel - Title.txt
- uploadDate - Title - Channel.txt
- uploadDate - Channel - Title.txt
💡 Tip
The URLs for button one and two can be freely chosen, as can all button icons. If a button field is empty, the button won't be added to the YouTube header. The settings button reverts to default if its field is empty.
⚠️ Important
Due to the Same-Origin Policy (SOP) in web development, JavaScript cannot directly interact across different websites: i.e. while the script can copy the transcript to the clipboard from YouTube and open a link (e.g. ChatGPT or NotebookLM), the copied transcript must be pasted manually into the text field via CTRL+V (Windows/Linux) or CMD+V (macOS).
ℹ Note
Status messages for the Transcript Exporter are displayed at the button's location in the YouTube header.
 |
The transcript has to be loaded into the HTML before it can be used. This can take from a few milliseconds up to a couple of seconds—depending on the length of the video. |
 |
YouTube live streams don't have transcripts. Wait until the stream has finished and YouTube's API has processed the video. |
 |
If the creator hasn't included captions (subtitles), YouTube's API processes the video to generate the transcript. This can take a few minutes. If speech recognition fails due to e.g. lack of clear speech or background noise, no transcript will be available. |
 |
If the transcript fails to load, the Transcript Exporter will terminate. Reload the page to retry. |

Links in Header
Up to ten links can be added next to the YouTube logo. An empty "Link Text" field won't insert the link into the header.
If the left navigation bar is hidden, a replacement icon will prepend the links, while retaining the default functionality of opening and closing the sidebar.

Features & CSS
Offers various options to customize the layout and functionality of YouTube.
General
- Change Opacity of Watched Videos
- Title Case Selection:
- uppercase
- lowercase
- capitalize
- normal-case (default)
- Video Quality:
- Auto (default)
- Highest Available
- 4320p - 8K
- 2160p - 4K
- 1440p - QHD
- 1080p - FHD
- 720p - HD
- 480p
- 360p
- 240p
- 144p
- Transcript Language:
- Auto (default)
- English
- Spanish
- Hindi
- Portuguese
- German
- French
- Italian
- Dutch
- Polish
- Hebrew
- Set Font Size
- Adjust Number of Videos per Row
- Set Playback Speed for VODs
- from 0.25x to 17x with 0.25x increments
- defaults to 1x for live videos
- works with Shorts
- key toggles:
- A: -0.25x
- S: toggle 1x/set speed
- D: +0.25x
Features
- Auto Theater Mode
- Prevent Autoplay
- Disable Play on Hover
- Auto Close Initial Chat Windows
- "Videos" Tab as Default on Channel Page
- Add RSS Feed Button to Channel Pages
- Open Playlist Videos Without Being in a Playlist When Clicking the Thumbnail or Title
- Show Trash Can Icon on Owned Playlists to Quickly Remove Videos
- Automatically Open Chapter Panels
- Automatically Open Transcript Panels
- Automatically Enable Timestamps in Transcript Panels
- Maintain 1x Playback Speed for Verified Artist Music Videos
- Use Enhanced Bitrate for 1080p Videos, Premium Required
- Persistent Progress Bar with Chapter Markers and SponsorBlock Support—Even in Fullscreen
- Display Remaining Time Under Videos Adjusted for Playback Speed—Even in Fullscreen
- To also include Skipped SponsorBlock Segments, ensure "Show time with skips removed" is enabled in SponsorBlock Settings under "Interface."
Layout Changes
- Tab View on Video Page
- Hide Comments Section
- Hide Suggested Videos
- Square and Compact Search Bar
- Square Design
- Square Avatars
- Compact Layout
- Hide Shorts
- Redirect Shorts to the Standard Video Page
- Hide Ad Slots on the Home Page
- Hide "Pay to Watch" Featured Videos on the Home Page
- Hide Members Only Featured Videos on the Home Page
- Hide "Latest posts from . . ." on Search Page
Modify or Hide UI Elements
- Hide "Voice Search" Button
- Hide "Create" Button
- Hide "Notification" Button
- Hide Notification Badge
- Hide Own Avatar in the Header
- Hide YouTube Brand Text in the Header
- Small Subscribed Button Under a Video—Displays Only the Notification Icon
- Hide Join Button under a Videos and on Channel Pages
- Display Full Titles
- Custom Selection Color for Light and Dark Mode
- Choose Progress Bar Color
- Hide Video Scrubber
- Hide Video End Cards
- Hide End Screens
- Hide "Play Next" Button
- Hide "Airplay" Button
- Hide Share Button under a Videos
- Hide Hashtags under Videos
- Hide Blue Info Panels
- Hide "Add Comment" Textfield
- Hide Comment "Reply" Button
- Hide Breaking News on Home
- Hide Playlists on Home
- Hide Fundraiser Icons and Panels
- Hide Mini Player
- Hide "Add to queue" Button on Hover
- Hide Right Sidebar on Search Page
- Hide Watched Videos Globally
Hide UI Elements in the Left Navigation Bar
- Hide "Home" Button
- Hide "Subscriptions" Button
- Hide "You" Button
- Hide "History" Button
- Hide "Playlists" Button
- Hide "Your Videos" Button
- Hide "Your Courses" Button
- Hide "Watch Later" Button
- Hide "Liked Videos" Button
- Hide "Subscriptions" Section
- Hide "Subscriptions" Title
- Hide "Show More" Button
- Hide "Explore" Section
- Hide "Explore" Title
- Hide "Trending" Button
- Hide "Music" Button
- Hide "Movies & TV" Button
- Hide "Live" Button
- Hide "Gaming" Button
- Hide "News" Button
- Hide "Sports" Button
- Hide "Learning" Button
- Hide "Fashion & Beauty" Button
- Hide "Podcasts" Button
- Hide "More from YouTube" Section
- Hide "More from YouTube" Title
- Hide "YouTube Premium" Button
- Hide "YouTube Studio" Button
- Hide "YouTube Music" Button
- Hide "YouTube Kids" Button
- Hide Penultimate Section
- Hide "Settings" Button
- Hide "Report History" Button
- Hide "Help" Button
- Hide "Send Feedback" Button
- Hide Footer
Color Code Videos
- On Home Page
- Adds customizable borders to videos to visually indicate their age and status, allows changing the background color of the details section of Watch Later videos, and offers the option to hide watched videos.
- On Subscriptions Page
- Adds a customizable border to the last uploaded video to highlight it on subsequent visits, with the option to auto-scroll to it.

Changelog
- 7.7: bug fixes and improvements. new features: tab view, set video quality including premium 1080p enhanced bitrate, choose default transcript language, color code and scroll to last seen video on subscriptions page, add rss feed button to channel pages, added button to reset ChatGPT prompt back to default without changing other settings, change background color of details sections for watch later videos, hide "add to queue" button on hover, hide "Pay to watch" featured videos on the home page, hide "latest posts from . . ." on search page, hide blue info panels, hide comments section, hide notification button and badge, hide own avatar in the header, hide suggested videos, hide various elements in the left navigation bar, open playlist videos without being in a playlist when clicking the thumbnail or title, redirect shorts to the standard video page, show trash can icon on owned playlists to quickly remove videos, square avatars
- 7.6: new feature: set playback speed for VODs, defaults to 1x for live videos, color code details section of watch later videos
- 7.5.5.1: general bug fixes and improvements. beta feature added: "Display Remaining Time Under a Video, Adjusted for Playback Speed" now also takes SponsorBlock segments into account. if the beta version is enabled, it will be used instead. ensure "Show time with skips removed" is enabled in SponsorBlock settings under "Interface."
- 7.5.5: general bug fixes and improvements. updated ChatGPT prompt to better maintain the YouTuber's POV and voice. new features: automatically enable timestamps in transcript panels, hide ad slots on the home page, hide members only featured videos on the home page, hide hashtags under videos, hide fundraiser icons and panels, option to hide various UI elements in the left navigation bar
- 7.5.1: fixed missing setting for channel redirect default to videos tab
- 7.5: name change to YouTube Alchemy. toggle for 'YouTube Transcript Exporter' added in main settings panel. general bug fixes and improvements. new Features: prevent autoplay, auto-close initial chat windows, hide shorts, hide play next button, hide comment reply button, hide breaking news on home, hide playlists on home, hide right sidebar on search
- 7.4: general bug fixes and improvements. reworked initiation of the script. new features: auto-open transcript panels, hide video end cards, hide end screens, hide join and share button under videos, small "subscribed" button (icon only), hide add comment text field, disable play on hover, hide main scrollbar in Safari, choose progress bar color
- 7.3.5: General bug fixes and improvements. Reorganized the settings panel for upcoming features. New Features: Hide YouTube brand text in the header; Hide video scrubber (red dot in progress bar); Display full titles; and Auto Theater mode
- 7.3.1: fixed YouTube scrubber in progress bar
- 7.3: New Features: Links in Header, Customize CSS, and Color Code Videos. Also optimized transcript loading and reset function
- 7.1: general bug fixes and improvements
- 7.0: initial public release
License
This project is licensed under the AGPL-3.0 License. See the LICENSE file for details.
Read Aloud Speedster
This script integrates intuitive playback speed controls into the chatbox interface. Clicking the speed display opens a popup menu to set a preferred default playback speed and the option to toggle the square design. Furthermore, the icons under Chat's responses are color-coded, and bold text is highlighted in color.
Install It from the Official Repository
