Skip to content
Bookmarks But Better
GitHub

A bookmark manager without an account

A bookmark manager without an account keeps your bookmarks on your own devices instead of on a company’s server. Nobody else holds a copy, nothing needs a password, and there’s no service that can shut down under you. The costs: no built-in sync between devices, and backups are up to you.

It is a good fit if:

  • You use one computer most of the time, or already keep bookmarks in one browser profile.
  • You’d rather not have your list of saved sites on someone else’s server. A bookmark list says a lot about work, health, money and interests.
  • You want files you own. Plain files outlive any single app, and you can open them with ordinary tools.
  • You already sync files your own way, and would rather reuse that than add another service.

It is a weaker fit if you want bookmarks on your phone, instant sync across many devices with no setup, or shared collections with other people. Account-based services are built for those.

Bookmarks But Better is a free and open source (MIT) extension for Chrome and Firefox. A Safari version, which works through a local daemon, is coming soon, and you can build it from source today. There is no sign-up, and nothing to log into. Bookmarks live in one of these places:

  • Browser source. Your browser’s own bookmark store. The extension reads and changes bookmarks only through the browser’s built-in bookmark APIs.
  • Vault. A folder of Markdown files on your disk. A small optional program, the daemon, serves the folder to the extension over 127.0.0.1/localhost only. It binds to loopback and makes no outbound requests of its own.
  • Standalone source (legacy). An older collection in a database inside the browser profile (IndexedDB), which is being retired. Moving off it is an explicit copy that leaves the old data intact.

These sources are never merged. You switch between them in the header, and each operation affects only the active source. Settings and source choices are stored per browser profile and aren’t synced anywhere. Details: how sources work.

From the privacy page:

  1. Favicon lookups, by default. To show site icons, the extension first checks a local cache on your machine, then, in Chrome, the browser’s own on-device icon store. Only if neither has the icon does it ask Google’s public favicon service, sending the bookmark’s origin (for example https://example.com), never the path, query or fragment. Grid tiles need larger icons than the browser stores, so they ask Google before the browser’s store. Successful lookups are cached for 30 days, so a site is normally looked up about once a month. Firefox has no on-device icon store an extension may read, so it skips that step. A letter placeholder is drawn locally when nothing answers.
  2. Your own daemon, if you connect one. The extension then talks to that loopback address. The permission is requested when you click Connect, never at install.

That’s all. No accounts, analytics, tracking, advertising or collection of bookmark content. One caveat: taken together, the origins sent for icon lookups amount to a list of the sites you’ve bookmarked, which is why they’re cached and limited to origins.

When the daemon serves its own web app in a browser tab (not the extension), that page can show Google’s icons but can’t cache them, so it fetches them again on each load.

Nothing carries your bookmarks between devices for you. Your options:

  • Browser source: if your browser already syncs its bookmarks, the dashboard simply shows what the browser has. The extension adds no sync of its own.
  • Vault: a vault is a normal folder, so any file sync tool you already trust can carry it to another machine, each running its own daemon. On Safari, setup suggests a synced folder such as iCloud Drive for this. As with any synced folder, avoid editing the same bookmark on two machines at the same moment.

A sync tool copies deletions and mistakes as faithfully as good changes. Keep a separate backup:

  • Vault: the bookmarks are text files, so copy the folder, keep it in a Git repository, or include it in your regular backups. Uninstalling the daemon never deletes a vault. See backing up a vault.
  • Any source: Settings → Data & Migration → Export saves bookmarks as an HTML file that any browser can import.

Without an account, there’s no “restore from the cloud”. The upside is that nothing depends on a service staying online. The vault format is documented plain Markdown with YAML front matter, readable without this extension.

Account-based managers such as Raindrop.io offer cross-device access, mobile apps and extra features in exchange for storing your bookmarks on their service. If you’re weighing that choice, the Raindrop comparison sets out the differences using Raindrop’s own pages. If you keep notes in Obsidian, the Obsidian guide shows how a vault fits next to your notes.

  1. Install the extension. The browser source works immediately, with nothing else to install.
  2. Optionally, run npx bookmarks-but-better@latest to install the daemon and choose a folder for a Markdown vault. See Markdown vaults.
  3. Import from an HTML file, or a Raindrop or Pocket CSV, under Settings → Data & Migration.