Block distracting YouTube keyboard shortcuts while keeping the ones you need β available as a native browser extension and a userscript.
β¨ Fine-Grained Control
- Individually toggle each YouTube hotkey β enable only what you need, block everything else
- Modern settings modal integrated directly into YouTube's player interface
- 30+ independent hotkey toggles
π― Complete Hotkey Coverage
- Number Keys (0β9) β Jump to timeline percentage
- Spacebar β Play/Pause toggle
- Arrow Keys β Timeline navigation (Left/Right Β±5s) and volume (Up/Down)
- Ctrl + Left / Right β Chapter navigation
- F Key β Fullscreen toggle
- M Key β Mute/Unmute
- K Key β Play/Pause (alternative)
- J / L Keys β Seek Β±10 seconds
- T Key β Theatre mode toggle
- C Key β Captions toggle
- I Key β Mini player toggle
- Shift + < / > β Playback speed control
- Period / Comma β Frame-by-frame navigation
- Home / End β Jump to beginning/end
π Smart Context Detection
- Automatically ignores key presses when typing in search, comments, or chat
- Preserves all non-blocked YouTube functionality unchanged
βοΈ Persistent Settings
- Settings saved locally β no accounts, no cloud, no privacy concerns
- Survives page navigations and SPA transitions
π§© Two Ways to Install
- Native browser extension for Chrome, Firefox, and Edge (Manifest V3)
- Userscript for Tampermonkey, Greasemonkey, and Violentmonkey
No userscript manager required. Installs directly into Chrome, Firefox, or Edge.
- Download
youtube-hotkeys-blocker-v5.0.0-chrome.zipfrom GitHub Releases - Unzip the file to a folder
- Chrome: navigate to
chrome://extensions/| Edge: navigate toedge://extensions/ - Enable Developer Mode (toggle in the top-right)
- Click Load unpacked and select the unzipped folder
- The extension icon appears in your toolbar
Chrome Web Store and Edge Add-ons submissions are in progress β check Releases for store links when available.
- Download
youtube-hotkeys-blocker-v5.0.0-firefox.zipfrom GitHub Releases - In Firefox navigate to
about:debugging#/runtime/this-firefox - Click Load Temporary Add-on⦠and select the
.zipdirectly - The extension activates immediately on YouTube
Firefox AMO submission is in progress β check Releases for the store link when available.
Requires a userscript manager. Works on any browser that supports one.
| Manager | Chrome | Firefox | Edge | Safari |
|---|---|---|---|---|
| Tampermonkey β | β | β | β | β |
| Greasemonkey | β | β | β | β |
| Violentmonkey | β | β | β | β |
From Greasy Fork (Recommended β auto-updates daily):
Direct GitHub install:
π Click to install from GitHub
Manual:
- Open your userscript manager dashboard
- Create a new script
- Paste the contents of
disable-yt-hotkeys.user.js - Save and enable
Browser Extension:
- Click the toolbar icon to open the popup
- Or press Alt+Shift+H (Windows/Linux) / Cmd+Shift+H (Mac) from any YouTube page
Userscript:
- Look for the β¨οΈ keyboard icon in the YouTube video player controls
- Or open your userscript manager menu β "YouTube Hotkey Settings"
| Hotkey | Blocked by Default |
|---|---|
| Numbers (0β9) | β Yes |
| Ctrl + Left | β Yes |
| Ctrl + Right | β Yes |
| M (Mute) | β Yes |
| Spacebar | β No |
| Arrow Keys | β No |
| F (Fullscreen) | β No |
| Speed (Shift+<>) | β No |
| Frame Skip (./,) | β No |
All settings are stored locally via chrome.storage.sync (extension) or GM_setValue (userscript). No external servers involved.
| Setting | Key | Default | Description |
|---|---|---|---|
| Disable Numbers (0β9) | disableNumbers |
β ON | Blocks timeline jump shortcuts |
| Disable Spacebar | disableSpacebar |
OFF | Blocks play/pause |
| Disable Arrow Keys | disableArrowKeys |
OFF | Blocks timeline/volume navigation |
| Disable Ctrl+Left | disableCtrlLeft |
β ON | Blocks previous chapter |
| Disable Ctrl+Right | disableCtrlRight |
β ON | Blocks next chapter |
| Disable F (Fullscreen) | disableF |
OFF | Blocks fullscreen toggle |
| Disable M (Mute) | disableM |
β ON | Blocks mute toggle |
| Disable K (Play/Pause) | disableK |
OFF | Blocks K key play/pause |
| Disable J (Seek β10s) | disableJ |
OFF | Blocks 10-second rewind |
| Disable L (Seek +10s) | disableL |
OFF | Blocks 10-second skip |
| Disable T (Theatre) | disableT |
OFF | Blocks theatre mode |
| Disable C (Captions) | disableC |
OFF | Blocks caption toggle |
| Disable I (Mini Player) | disableI |
OFF | Blocks mini player |
| Disable Speed (Shift+<>) | disableSpeed |
OFF | Blocks speed controls |
| Disable Frame Skip (./,) | disableFrameSkip |
OFF | Blocks frame-by-frame navigation |
| Disable Home/End | disableHomeEnd |
OFF | Blocks jump to start/end |
When installed as a browser extension, the following shortcut is available:
| Command | Windows / Linux | Mac |
|---|---|---|
| Open Settings Popup | Alt+Shift+H | Cmd+Shift+H |
To customize this shortcut:
- Chrome/Edge:
chrome://extensions/shortcuts - Firefox:
about:addonsβ gear icon β Manage Extension Shortcuts
- Intercepts keyboard events on
www.youtube.comatdocument_start - Checks each key against your saved settings
- Calls
preventDefault()andstopImmediatePropagation()for blocked keys, preventing YouTube from processing them - Skips blocking when focus is in a search box, comment field, or any other text input
- Watches for SPA navigation (
yt-navigate-finish) to re-attach handlers after YouTube's client-side page transitions - Persists settings using
chrome.storage.sync(extension) orGM_setValue(userscript) β no external servers
- Verify the extension is enabled at
chrome://extensions/orabout:addons - Reload the YouTube tab after enabling
- Check that the
*://www.youtube.com/*host permission is granted
- Ensure your userscript manager is enabled for YouTube
- Reload the YouTube page
- Check that no other extensions are intercepting keyboard events before this one
- Extension: confirm the
storagepermission is granted - Userscript: confirm your manager allows
GM_setValueonyoutube.com - Disable any aggressive privacy extensions temporarily to test
- Refresh the YouTube page
- Navigate to a video β the button injects into the player controls after the player loads
- Use the userscript manager menu as a fallback access method
Youtube Keystrokes Blocker/
βββ disable-yt-hotkeys.user.js # Userscript (single-file, self-contained)
βββ src/
β βββ content.js # Extension content script
β βββ background.js # Extension service worker
β βββ content.css # Content script styles
β βββ popup/ # Toolbar popup UI
β βββ options/ # Full options page UI
β βββ manifests/
β β βββ manifest.chrome.json # Chrome/Edge MV3 manifest
β β βββ manifest.firefox.json # Firefox MV3 manifest
β βββ icons/ # SVG source icon
βββ scripts/
β βββ Build-Extension.ps1 # Builds Chrome + Firefox ZIPs
β βββ Build-All.ps1 # Builds extension + copies userscript
β βββ Update-Version.ps1 # Bumps version across all files
βββ release/ # Built artifacts (git-ignored)
βββ docs/ # Documentation
# Build all artifacts (extension ZIPs + userscript copy)
npm run build:all
# Build extension packages only
npm run build:extension
# Version management
npm run version:patch # 5.0.0 β 5.0.1
npm run version:minor # 5.0.0 β 5.1.0
npm run version:major # 5.0.0 β 6.0.0
# Full release (version bump + build)
npm run releaseLicensed under the Apache License 2.0 β see LICENSE.md for details.
- Fork the repository
- Make your changes
- Open a pull request
Bug reports and feature requests are welcome on GitHub Issues.
Created and maintained by VKrishna04
Part of the Life Experimentalist organization
| π Homepage | yt-hotkeys.vkrishna04.me |
| π¦ GitHub | Life-Experimentalist/Youtube-Keystrokes-Blocker |
| π Issues | GitHub Issues |
| π Releases | GitHub Releases |
| π¦ Greasy Fork | Script page |
| π Changelog | CHANGELOG.md |
Last Updated: 2026 | Version 5.0.0 | Active Development β
β If you find this useful, please star the repository!