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!