A privacy-first browser extension for reducing distracting social video and feed surfaces.
Supports YouTube Shorts, Instagram Reels, TikTok, Facebook Reels, and LinkedIn feed controls.
Installation • Features • Configuration • Project Impact • Technical Highlights • Privacy
FocusTube is an open-source browser extension built and maintained to help users reduce doomscrolling and stay focused. It blocks or hides distracting areas on supported platforms while keeping all settings and usage data local to the browser.
The project supports Chromium browsers with a Manifest V3 build and Firefox with a separate compatibility manifest.
- Strict Mode: Blocks distracting surfaces by redirecting or showing a blocking overlay.
- Warn Mode: Shows an interstitial before access where supported.
- Passive Mode: Allows normal browsing while visual hiding controls can still reduce distracting entry points.
- YouTube: Blocks Shorts URLs and can hide Shorts navigation/shelves.
- Instagram: Blocks Reels/Explore paths and can hide Reels navigation and Stories.
- TikTok: Blocks common feed/video surfaces while allowing safer areas such as messages and settings.
- Facebook: Blocks Reels paths and can hide Reels navigation and Stories.
- LinkedIn: Can hide the main feed and "Add to your feed" sidebar card.
- Built-in focus/break timer.
- Optional browser notifications when timers complete.
- Local blocked-count and time-saved estimates.
- Popup and options pages for browser-local configuration.
Clone or download this repository, then choose the manifest for your browser.
The Chromium build uses Manifest V3.
- Copy or rename
chrome-manifest.jsontomanifest.json. - Open
chrome://extensionsoredge://extensions. - Enable Developer mode.
- Click Load unpacked.
- Select the repository folder containing the renamed
manifest.json.
The Firefox build currently uses Manifest V2 for compatibility.
- Copy or rename
firefox-manifest.jsontomanifest.json. - Open
about:debugging#/runtime/this-firefox. - Click Load Temporary Add-on....
- Select the copied/renamed
manifest.jsonfile.
Firefox temporary add-ons are removed when the browser restarts. Reload the manifest from about:debugging when testing changes.
Click the extension icon to open the popup:
- Toggle FocusTube on or off.
- Toggle visual distraction hiding.
- Configure each supported platform.
- Start or stop the focus/break timer.
- Open the options page for timer settings, platform visibility, import/export, and reset controls.
- Published on Chrome Web Store, Microsoft Edge Add-ons, and Firefox Add-ons.
- Open-source MIT-licensed project.
- Privacy-first: no extension-side analytics or remote backend; settings stay in browser storage.
- Browser extension APIs for storage, alarms, notifications, popup UI, options UI, and content scripts.
- Cross-browser manifests for Chromium and Firefox.
- Site-specific content scripts for YouTube, Instagram, TikTok, Facebook, and LinkedIn.
- Shared DOM utilities for overlays, visual hiding, timer state, and SPA updates.
MutationObserver, browser navigation events, and timer-driven messaging for dynamic single-page applications.- Local browser storage for preferences, timer state, stats, and import/export data.
FocusTube is designed to run locally in the browser.
- No analytics or tracking: The extension code does not include analytics SDKs or telemetry calls.
- No remote backend: The extension does not send browsing data or settings to a project-controlled server.
- Local storage: Preferences, timer state, stats, and settings backups use browser-local APIs such as
chrome.storage.local. - User-opened links only: The popup/options UI can open GitHub or store listing pages when the user clicks related buttons.
See CONTRIBUTING.md for local setup and testing notes.
See SECURITY.md for reporting security or privacy issues.