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.
- 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 dependencies:
npm install
-
Build the extension:
npm run build
-
Open your Chromium browser extension page:
- Chrome:
chrome://extensions - Edge:
edge://extensions - Brave:
brave://extensions
- Chrome:
-
Enable developer mode.
-
Choose Load unpacked.
-
Select the generated
distfolder.
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://*/*andhttps://*/*content script access: lets the content script updatedocument.titleon normal web pages. Browser-internal pages such aschrome://extensionsare not accessible, and the popup reports that limitation instead of failing silently.- Extension command: lets Chromium open the popup from the configured keyboard shortcut.
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.localon your device.
The extension reads tab title and URL metadata only to show the current tab and the list of currently labeled open tabs.
npm install
npm run lint
npm test
npm run buildDuring development, rebuild with npm run build and reload the unpacked extension from the browser extensions page.
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.
- 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.