🇬🇧 English • 🇻🇳 Tiếng Việt • 🇪🇸 Español • 🇧🇷 Português • 🇯🇵 日本語 • 🇨🇳 简体中文
🇰🇷 한국어 • 🇩🇪 Deutsch • 🇫🇷 Français • 🇷🇺 Русский • 🇮🇩 Bahasa Indonesia
Rest your tabs, free your memory - a Chrome extension that automatically unloads inactive tabs.
- Auto-unload inactive tabs - Configurable timer (5min to 4hrs)
- Memory threshold - Unload when RAM exceeds 60-95%
- Per-tab memory limit - Unload tabs using >100MB-1GB JS heap
- Startup unload - Free memory when browser opens
- Manual controls - Unload current/left/right/other tabs
- Close duplicate tabs - One-click dedup in current window
- Tab search - Live filter tab list by title or URL
- Tab groups - Unload entire tab groups
- Side panel mode - Open TabRest in Chrome's side panel (opt-in)
- Snooze tabs/sites - Temporarily protect tabs or domains (30min-2hrs)
- Suspend warning toast - 3s on-page warning before auto-discard
- Visual indicator - Customizable prefix (💤) on discarded tab titles
- Whitelist - Protect sites from auto-unload (supports localhost & IP)
- Import/Export - Back up whitelists, blacklists, and sessions to JSON
- Sessions - Save and restore tab sets
- Scroll restore - Restore scroll position when tabs reload
- YouTube timestamp - Resume videos at last position after reload
- Skip when offline - Don't discard tabs when network unavailable
- Idle-only mode - Only auto-unload when computer is idle
- Power Mode - Battery-saver, normal, or performance profiles
- Auto-unload notifications - Get notified when tabs are unloaded
- Memory tooltip - Hover stats to see estimated RAM saved per tab
- Onboarding wizard - Interactive multi-step setup on first run
- Opt-in error reporting - Anonymous crash reports via Sentry (off by default) plus manual bug-report submit
- Auto-open changelog - Opens release notes on minor/major updates
- Optional host permissions - Form protection only requests access when enabled
- RAM usage display - Live RAM % in popup header
- Statistics - Track tabs unloaded and memory saved
- Multi-language - 11 languages supported
| Shortcut | Action |
|---|---|
Alt+Shift+D |
Unload current tab |
Alt+Shift+O |
Unload other tabs |
Alt+Shift+→ |
Unload tabs to the right |
Alt+Shift+← |
Unload tabs to the left |
- Clone this repository
- Open
chrome://extensionsin Chrome - Enable "Developer mode" (top right)
- Click "Load unpacked"
- Select the project folder
Install TabRest from the Chrome Web Store.
TabRest uses Chrome's native chrome.tabs.discard() API to unload tabs. Discarded tabs:
- Stay visible in the tab bar
- Preserve their scroll position and form data
- Reload instantly when clicked
- Free up memory while inactive
tabrest/
├── manifest.json # Extension config (MV3)
├── _locales/ # i18n translations (11 locales)
├── src/
│ ├── background/ # Service worker modules
│ ├── content/ # Form checker, YouTube tracker
│ ├── popup/ # Popup / side panel UI
│ ├── options/ # Settings page
│ ├── pages/ # Onboarding, changelog
│ └── shared/ # Shared utilities
├── icons/ # Extension icons
├── website/ # Astro docs site (tabrest.ohnice.app)
└── docs/ # Project documentation
pnpm install # Install dependencies
pnpm run lint # Check code with Biome
pnpm run lint:fix # Auto-fix lint issues
pnpm run format # Format code
pnpm run ci # Run full CI (validate + lint)Chrome Web Store promotional images are in assets/ as SVG sources.
./scripts/generate-promo-images.sh # Generate PNG files- No data collection
- No external servers
- All settings stored locally
- See Privacy Policy
If you find this extension useful, consider supporting its development:
- GitHub Flex - Cross-browser extension that enhances GitHub's interface with productivity features
- Termote - Remote control CLI tools (Claude Code, GitHub Copilot, any terminal) from mobile/desktop via PWA
MIT
Portions of this project are derived from Drowzy, Copyright (c) 2026 ml3dev, MIT License.