Tab Tack
Save a tab's title, URL, and your own note to a running markdown file.
Current version: v1.3.1
Install on Firefox
Requires Firefox 140 or later.
- Download Download for Firefox (.xpi)
- Open Firefox, then either:
- Drag the downloaded
.xpifile onto any open Firefox window, or - Go to
about:addons→ click the gear icon (⚙) at the top → Install Add-on From File… → select the downloaded file.
- Drag the downloaded
- Click Add on the permission prompt. The toolbar icon appears immediately and the install is permanent — it survives restarts, same as any other add-on.
Install on Chrome, Edge, Brave, Opera, Vivaldi
Chromium-based browsers only install permanent extensions from their own web store, or from a local folder with Developer mode turned on. The second option is what personal, non-store extensions use — it's fully supported, not a hack, and the extension keeps working across restarts once loaded this way.
- Download Download source (.zip)
- Unzip it somewhere permanent on your computer — not a Downloads folder you'll later clean out, and don't delete this folder afterwards. The browser loads the extension from here every time it starts.
- Open
chrome://extensions(Chrome/Brave/Opera/Vivaldi) oredge://extensions(Edge). - Turn on Developer mode (top-right toggle).
- Click Load unpacked and select the unzipped folder.
The small "Developer mode extensions" banner Chrome shows afterward is normal and expected for this install method — it isn't a warning about the extension itself.
Updating
Since Tab Tack isn't distributed through a store, updates don't happen automatically — check back on this page for a newer version.
- Firefox: download the new
.xpiand install it the same way as above; it replaces the old version in place and keeps your saved data. - Chromium: download the new source, unzip it over the same folder (or a fresh one), then click the reload icon (⟳) on Tab Tack's card in
chrome://extensions. Your saved data lives in the browser's sync storage, not the folder, so it isn't affected.
Uninstalling
Remove it the normal way for your browser — right-click the toolbar icon
→ Remove Extension (Firefox), or Remove
from the card on chrome://extensions (Chromium). On
Chromium, deleting the unzipped folder afterward is fine too.
User guide
How it works
- Click the toolbar icon → a popup shows the page's title and URL (pre-filled), an author/date field (auto-filled from the page's meta tags when present), a category picker, and a text box for your own note.
- Categories: check existing ones, and/or type new ones (comma-separated). New ones are remembered for next time.
- Click Save to markdown file. The entry is added to the extension's storage, and the entire markdown file is rewritten to your Downloads folder (default:
Downloads/tab-tack.md, changeable in the extension's Options page).
Each entry looks like:
## Page Title
- **URL:** https://example.com/article
- **Author:** Jane Doe
- **Date:** 2026-08-20
- **Category:** research, firefox
- **Saved:** 8/25/2026, 3:14:02 PM
Your annotation goes here.
---
Saving a URL you've already saved is blocked — the popup shows "Already saved" instead of writing a duplicate (matched by URL, ignoring #fragment and a trailing slash).
Browsing and reopening saved pages
- Click View saved pages → at the bottom of the popup for a full, searchable list of everything saved.
- Search by title, URL, author, or note text; filter by category.
- Click a title to open that page in a new tab, or check several rows and click Open selected in new tabs.
- Click Saved or Author / Date to sort; click Category to switch to a grouped view instead.
Editing and deleting
Each row has Edit (turns the row into an editable form in place) and Delete (asks for confirmation). Both immediately update storage and rewrite the markdown file.
Export / import
Check boxes on entries, then Export selected as JSON… to save them to a file you choose — useful for sharing a subset with someone else running Tab Tack, or as a backup. Import… loads a JSON file back in, skipping anything already saved (matched by URL). Import from markdown… does the same from a tab-tack.md file, which is handy if you only have the human-readable export lying around.
Make exporting a habit. Sync storage and the markdown file each protect against different failure modes, but neither is a substitute for a backup file you control the location of. Tab Tack reminds you (inside the popup and the saved-pages list) once enough has changed or enough time has passed since your last full export.
Cross-machine sync
Saved entries live in the browser's own sync storage, so they follow you to any other machine signed into the same account — your Firefox Account for Firefox, your Google Account for Chrome/Edge. This doesn't bridge browser families (Firefox and Chrome sync separately), and it has a real size ceiling (roughly 100KB / 512 items total) — comfortably enough for typical use, but not unlimited.
If the markdown file goes missing
The .md file is a disposable export — your real data is the synced storage. Click Download markdown file on the saved-pages page to regenerate it; nothing is lost.
If it's the other way around (file survived, synced data didn't)
Click Import from markdown… and select an old tab-tack.md — entries are reconstructed from it, duplicates skipped automatically.
Privacy & security
Tab Tack collects nothing and makes no network requests anywhere in its
code — saved entries live only in your browser vendor's own sync
storage, which this extension doesn't control and can't see outside of.
The downloads permission is used solely to write the
markdown/JSON files to your own Downloads folder.
Imported files (JSON or markdown) are treated as untrusted input: URLs
are restricted to http/https, markdown-structure
injection is neutralized, and bidirectional Unicode override characters
are stripped before anything is stored or rendered. There's no
eval, no dynamic script injection, and no page content is
ever treated as code.