Skip to content

MDC91/Browser-Tab-Saver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Browser Tab Saver

Chrome Web Store License Manifest V3

A simple Chrome/Chromium browser extension that saves and restores browser window sessions with all tabs in one click.

Features β€’ Installation β€’ Usage β€’ Development β€’ Privacy


πŸ“Έ Screenshots

Light Mode Dark Mode
Light Mode Dark Mode

✨ Features

  • πŸ’Ύ Save Window - Save all tabs of the current window as a session
  • πŸšͺ Save & Close - Save window and automatically close it after saving
  • πŸ”„ Restore - Restore any saved session in a new window with a single click
  • πŸ—‘οΈ Delete - Remove sessions you no longer need
  • πŸ’Ύ Persistent Storage - Sessions are stored locally and persist across browser restarts
  • πŸŒ™ Theme Support - Automatically adapts to your browser's light/dark theme
  • πŸ”’ Privacy First - All data stays on your device, no external servers
  • 🚫 Smart Filtering - Automatically skips internal browser pages (chrome://, etc.)

πŸš€ Installation

From Chrome Web Store (Recommended)

Coming soon! The extension will be available on the Chrome Web Store soon. Check back later.

Development Installation

  1. Clone or download this repository

    git clone https://github.com/MDC91/Browser-Tab-Saver.git
    cd Browser-Tab-Saver
  2. Open Chrome Extensions

    • Navigate to chrome://extensions in your Chrome browser
    • Enable "Developer mode" in the top right corner
  3. Load the Extension

    • Click "Load unpacked"
    • Select the project directory (the folder containing manifest.json)
    • The extension is now loaded and ready to use!

πŸ“– Usage

Saving a Session

  1. Open the extension popup by clicking the extension icon in your browser toolbar
  2. (Optional) Enter a custom name for your session in the input field
  3. Click "Save Window" to save the session
  4. Click "Save & Close" to save and immediately close the current window

Restoring a Session

  1. Open the extension popup
  2. Find the session you want to restore in the list
  3. Click "Restore" next to the session
  4. The session will open in a new window with all tabs in their original order

Deleting a Session

  1. Open the extension popup
  2. Find the session you want to delete in the list
  3. Click "Delete" next to the session
  4. Confirm the deletion in the dialog

Default Session Names

If you don't enter a name, the extension will automatically generate one:

Session 2026-01-13 14:35

πŸ› οΈ Development

File Structure

window-tab-saver/
β”œβ”€β”€ manifest.json              # Extension manifest (Manifest V3)
β”œβ”€β”€ popup.html                 # Popup UI
β”œβ”€β”€ popup.css                  # Popup styling with theme support
β”œβ”€β”€ popup.js                   # Main application logic
β”œβ”€β”€ types.d.ts                # TypeScript type definitions
β”œβ”€β”€ icons/                     # Extension icons
β”‚   β”œβ”€β”€ icon16.png
β”‚   β”œβ”€β”€ icon48.png
β”‚   β”œβ”€β”€ icon128.png
β”‚   └── icon.svg              # Source SVG
β”œβ”€β”€ README.md                  # This file
β”œβ”€β”€ AGENTS.md                  # Guidelines for AI agents
└── CHROME_WEB_STORE_PUBLISHING_PLAN.md  # Publishing guide

Tech Stack

  • Manifest Version: V3
  • Languages: HTML5, CSS3, JavaScript (ES6+)
  • Storage: Chrome Storage API (chrome.storage.local)
  • Permissions: tabs, storage, windows

Building the Extension

No build process required! This extension uses vanilla JavaScript and can be loaded directly in Chrome.

Debugging

  • Popup Console: Right-click in the popup and select "Inspect" β†’ Console
  • Background Service Worker: Go to chrome://extensions, find the extension, and click the "Service worker" link

Code Style

See AGENTS.md for detailed coding guidelines, naming conventions, and best practices.


πŸ”’ Privacy & Security

  • βœ… All data is stored locally in your browser (chrome.storage.local)
  • βœ… No data is sent to external servers
  • βœ… No tracking or analytics
  • βœ… Only URLs and page titles are stored (no page content, form data, or history)
  • βœ… Open source - you can audit the code yourself

What Gets Stored

For each session, the extension stores:

{
  "id": "session-id",
  "name": "My Session",
  "createdAt": "2026-01-13T12:00:00.000Z",
  "tabCount": 12,
  "window": {
    "tabs": [
      {
        "url": "https://example.com",
        "title": "Example Page",
        "index": 0,
        "pinned": false,
        "active": true
      }
    ]
  }
}

Storage Limits

  • Storage Limit: ~5-10 MB per extension
  • Estimated Usage: ~70-150 bytes per tab
  • Capacity: Can store 300-700 sessions with 10 tabs each

⚠️ Limitations

  • Internal browser pages (chrome://, edge://, about:blank, etc.) are automatically skipped
  • Duplicate URLs are allowed and will be restored as separate tabs
  • Very large sessions (100+ tabs) may take a moment to restore due to rate limiting
  • Pages that no longer exist will show browser error pages when restored
  • No cross-device sync - sessions are stored locally only (privacy-focused design)

🚧 Future Enhancements

  • Export/Import sessions as JSON for backup
  • Search and filter sessions
  • Auto-save on window close (with opt-in)
  • Cross-device sync (optional, user-controlled)
  • Tab groups support (Chrome-specific)
  • Keyboard shortcuts
  • Session organization (folders, tags)

See the Issues page for feature requests and bug tracking.


🀝 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow the coding standards in AGENTS.md
  • Keep changes focused and minimal
  • Test thoroughly before submitting
  • Update documentation as needed

Reporting Issues

Found a bug? Have a feature request? Please open an issue with:

  • A descriptive title
  • Steps to reproduce (for bugs)
  • Expected vs actual behavior
  • Browser version and OS

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments


πŸ“ž Contact & Support


Made with ❀️ by MDC

⬆ Back to top

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published