Skip to main content

Shaarli and Classic Flat-File Bookmarks: Import Honestly

Cowpin

Cowpin

10/11/2026

#shaarli #delicious #import #migration #netscape #pinboard
Shaarli and Classic Flat-File Bookmarks: Import Honestly

Shaarli (and the long tail of self-hosted link blogs, Delicious exports, and browser bookmark dumps) share one idea: your library is a flat file you can grep, rsync, and keep forever. Cowpin is hosted — but we still speak the same exchange formats those tools used, because migration trust is the product.

This post is for operators sitting on bookmarks.html, old Shaarli Netscape exports, or Pinboard-style JSON who want to know what will move before they click Import.

What Cowpin imports today (Settings → Import)

Source shapeCowpin pathTypical origin
Netscape bookmark HTMLFile upload or pasteShaarli export, browser backup, linkding, many “export bookmarks” buttons
Pinboard JSONPaste / chunked JSONPinboard backup, some scripts
Instapaper / Pocket CSVDetected CSVRead-later refugees
Wallabag / Karakeep JSONDedicated detectorsSelf-hosted migrations
Twitter / Reddit exportsDedicated detectorsSocial saves

There is no “Shaarli API sync” — you bring a file, same as leaving Shaarli for any other modern host.

Field fidelity (what survives)

Cowpin’s HTML importer reads URL, title, tags, notes (<DD>), privacy, read-later (TOREAD), and save date (ADD_DATE) — the same fields we fixed for linkding round-trips so read-later does not silently flatten. See the linkding post for why row count ≠ success.

Usually moves: links, tags, titles, many notes, read-later flags, dates when present in the export.

Usually does not: Shaarli-specific plugins, geolocation, custom plugin metadata, thumbnail caches, or page archive bytes from the old host. Cowpin re-fetches URLs after import; dead links stay dead.

Private links: honored when the export marks them; account privateByDefault still applies where the format is silent.

  1. Export Netscape HTML from Shaarli (or your fork).
  2. Cowpin Settings → Import → upload the file.
  3. Run duplicate URL scan + merge if you re-imported or merged collections.
  4. Spot-check read-later and tags on a dozen rows — especially if the export omitted TOREAD or used nonstandard tag separators.

Pinboard JSON works if your Shaarli workflow already emits Pinboard-compatible JSON; otherwise prefer HTML — it is what we test most often.

Cowpin → back out

Export Netscape HTML or Pinboard JSON from Cowpin Settings. Any tool that imports standard bookmark files (Shaarli, linkding, browsers) can take you back — same conservative promise as our other migration posts: we certify our export, not every importer on the other side.

Why bother leaving Shaarli?

You might not. Shaarli is MIT, flat-file, and ops-light. Cowpin is for people who want hosted full-text archive, semantic search, highlights, mobile share saves, and MCP without running PHP and cron. Not a moral upgrade — a different job.

Import your export →