Skip to content

SenhorH/tab-labeler

Repository files navigation

Browser Tab Renamer Extension

Rename browser tabs locally and bring order to chaotic sessions.

tab-labeler is a lightweight Manifest V3 browser extension for Chromium-based browsers. It lets you assign local labels to messy tabs, add emoji prefixes, reset titles, and review currently renamed tabs from a compact popup.

Screenshot placeholder

Features

  • Rename the current tab from the extension popup.
  • Reset the current tab title.
  • Persist labels across page reloads while the tab remains open.
  • Show all currently labeled open tabs.
  • Add an emoji or icon-style prefix.
  • Quick presets: ✅ Done, 🔥 Important, 📌 Read later, 🐛 Bug, 🧪 Testing.
  • Keyboard shortcut via the browser extension command.
  • Content script updates document.title.
  • Handles SPA title changes by reapplying the local label.
  • Clear all labels in one action.
  • No backend, tracking, analytics, or remote sync.

Install From Source

  1. Install dependencies:

    npm install
  2. Build the extension:

    npm run build
  3. Open your Chromium browser extension page:

    • Chrome: chrome://extensions
    • Edge: edge://extensions
    • Brave: brave://extensions
  4. Enable developer mode.

  5. Choose Load unpacked.

  6. Select the generated dist folder.

Permissions

The extension keeps permissions intentionally small:

  • storage: saves tab labels in local browser extension storage.
  • tabs: reads the active tab title and lists currently open labeled tabs in the popup.
  • http://*/* and https://*/* content script access: lets the content script update document.title on normal web pages. Browser-internal pages such as chrome://extensions are not accessible, and the popup reports that limitation instead of failing silently.
  • Extension command: lets Chromium open the popup from the configured keyboard shortcut.

Privacy

Browser Tab Renamer Extension is local-first and privacy-first.

  • No backend.
  • No analytics.
  • No telemetry.
  • No tracking pixels.
  • No remote label sync.
  • Labels are stored only in browser.storage.local on your device.

The extension reads tab title and URL metadata only to show the current tab and the list of currently labeled open tabs.

Development

npm install
npm run lint
npm test
npm run build

During development, rebuild with npm run build and reload the unpacked extension from the browser extensions page.

Project Structure

  • public/manifest.json: Manifest V3 extension metadata.
  • src/popup: popup UI and tab actions.
  • src/content: page title updater.
  • src/background: service worker and content-script label lookup.
  • src/lib: shared label storage and message utilities.
  • docs/manual-testing.md: manual browser QA checklist.

Roadmap

  • Optional Firefox manifest adjustments.
  • Import/export labels for debugging.
  • Per-window grouping in the renamed tabs list.
  • Optional keyboard shortcut customization notes.
  • Store labels by stable URL hints when tab IDs change.

About

Rename browser tabs locally and bring order to chaotic sessions.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors