Tab Tack

Save a tab's title, URL, and your own note to a running markdown file.

Current version: v1.3.1

Tab Tack isn't listed on the Firefox Add-ons store or the Chrome Web Store — it's a small personal tool, distributed directly from this page instead. The Firefox build below is still signed by Mozilla (so Firefox will install it without complaint), it's just not searchable in the store. Nothing here phones home or collects data — see Privacy & security.

Install on Firefox

Requires Firefox 140 or later.

  1. Download Download for Firefox (.xpi)
  2. Open Firefox, then either:
    • Drag the downloaded .xpi file 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.
  3. 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.

  1. Download Download source (.zip)
  2. 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.
  3. Open chrome://extensions (Chrome/Brave/Opera/Vivaldi) or edge://extensions (Edge).
  4. Turn on Developer mode (top-right toggle).
  5. 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.

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

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

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.