Skip to content

lamngockhuong/tabrest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

136 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

🇬🇧 English • 🇻🇳 Tiếng Việt • 🇪🇸 Español • 🇧🇷 Português • 🇯🇵 日本語 • 🇨🇳 简体中文
🇰🇷 한국어 • 🇩🇪 Deutsch • 🇫🇷 Français • 🇷🇺 Русский • 🇮🇩 Bahasa Indonesia

TabRest Logo

TabRest

Rest your tabs, free your memory - a Chrome extension that automatically unloads inactive tabs.

Chrome Web Store Version Chrome Web Store Users Chrome Web Store Rating CI MIT License GitHub Stars

Install from Chrome Web Store Website

TabRest on Unikorn.vn   TabRest - Launched on J2TEAM Launch

Features

  • 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

Keyboard Shortcuts

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

Installation

From Source

  1. Clone this repository
  2. Open chrome://extensions in Chrome
  3. Enable "Developer mode" (top right)
  4. Click "Load unpacked"
  5. Select the project folder

From Chrome Web Store

Install TabRest from the Chrome Web Store.

How It Works

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

Project Structure

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

Development

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)

Promo Assets

Chrome Web Store promotional images are in assets/ as SVG sources.

./scripts/generate-promo-images.sh   # Generate PNG files

Privacy

  • No data collection
  • No external servers
  • All settings stored locally
  • See Privacy Policy

Sponsor

If you find this extension useful, consider supporting its development:

GitHub Sponsors Buy Me A Coffee MoMo

Other Projects

  • 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

License

MIT

Acknowledgements

Portions of this project are derived from Drowzy, Copyright (c) 2026 ml3dev, MIT License.

About

Chrome extension to automatically unload inactive tabs and free memory

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors