A Firefox (MV3) extension that copies browser tabs to the clipboard in a variety of formats.
| Manifest | MV3 |
| Min Firefox | 115.0 |
| License | MPL-2.0 |
| Localization | English (default), Traditional Chinese (zh-TW) |
- Copy the current tab, highlighted tabs, all tabs in this window, or all tabs across all windows.
7 built-in formats (link, URL, title + URL, Markdown, CSV, JSON, HTML table) + user-defined custom formats.
- Right-click on a link, image, video, audio, selected text, or any tab to copy directly without opening the popup.
- 3 keyboard shortcuts cover the most common scopes.
- Desktop notification + colored toolbar icon flash on success / error.
- Auto-switches the toolbar icon for Firefox dark theme.
- Sync your configuration via Import / Export, reset to defaults anytime.
Search "TabClip Plus" on addons.mozilla.org and click Add to Firefox.
- Run
git clone(or download) andcd tabclipplus. - Open
about:debugging#/runtime/this-firefoxin Firefox. - Click Load Temporary Add-on… and select
dist/manifest.json.
The extension stays loaded until Firefox restarts.
| Action | Shortcut |
|---|---|
| Copy this tab | Alt+Shift+1 |
| Copy all tabs in this window | Alt+Shift+2 |
| Copy all tabs | Alt+Shift+3 |
Shortcuts can be reassigned at about:addons → TabClip Plus → Preferences → Manage Extension Shortcuts.
- On a tab or page: "Copy Tab" + "Copy Tab As…" (format submenu) + "Copy All Tabs in Window".
- On a link, image, video, audio, or selection: "Copy" with a format submenu.
The "Copy Tab As…" submenu can be hidden in Options → Context menu format submenu.
The popup exposes four scope buttons, a format dropdown, and a status line. Modifier keys select alternate formats for the next copy only:
Alt→ uses the 2nd format in the dropdown.Ctrl→ uses the 3rd format.
Arrow Up / Arrow Down move between scopes; Enter copies; Esc closes.
Open Options → Add / edit custom format to create a template using these placeholders:
| Placeholder | Meaning |
|---|---|
{title} |
Tab title |
{url} |
Tab URL |
{index} |
1-based position within the current scope |
{windowIndex} |
1-based window index (only meaningful with "All tabs in all windows") |
You can also supply an optional Header, Footer, and Row separator.
Open the options page from the toolbar popup's footer, or from about:addons → TabClip Plus → Preferences.
Sections:
- General — popup mode, tab counts, pinned-tab handling, context menu, notifications, dark icon, etc.
- Scopes — reorder, hide, restore.
- Formats — reorder, hide, edit custom formats.
- Backup — export, import, reset.
All settings are stored locally in browser.storage.local. Nothing is uploaded.
- Node.js ≥ 18
- Firefox ≥ 115
npm testOutput: formats 16 + settings 45 + popup 4 + actions 30 + copy 8 + tabs 8 = 111 passed.
npx web-ext lint --source-dir dist --self-hostedExpected: 0 errors, 4 warnings (2 locales × 2 from strict_min_version: 115 not supporting the
data_collection_permissions key on older Firefox — non-blocking).
npx web-ext build --source-dir dist --artifacts-dir web-ext-artifacts --overwrite-destOutput: web-ext-artifacts/tabclip_plus-0.1.0.zip (gitignored).
⚠️ The.xpiproduced above is unsigned. Firefox will reject it from the normalabout:addonsinstall path (only AMO-signed add-ons are accepted there). To test the packaged build, either:
- Extract it (
unzip tabclip_plus-0.1.0.zip -d tabclip_plus-pkg) and loadtabclip_plus-pkg/manifest.jsoninabout:debugging(same as development load).- Submit to AMO for signing, then download the signed
.xpi— that's the file real users will install.For the public release flow, see
AMO_LISTING.md(suggested listing copy and submission notes).
This project is a clean-room reimplementation inspired by the functionality of the Tab Copy Chrome extension by Hans Meyer (https://github.com/hansifer/tab-copy).
- No source code from the original project has been copied, translated, or directly referenced.
- The implementation is based solely on the publicly documented feature set and observed user-facing behavior.
- All user interface design, icons, and code are independently developed.
- Icons: Lucide — clipboard-copy / clipboard-list, ISC. See
dist/icons/ATTRIBUTION.md.
MPL-2.0 — see LICENSE.
