Shaarli
Personal, minimalist link-sharing bookmark app
Shaarli is a personal, minimalist, database-free bookmarking application that can also act as a microblog of links. It targets individuals wanting a lightweight link log. It is deployed via Docker or a PHP stack.
Key features
- No database, flat-file storage
- Public and private links
- Tagging and RSS feed
- Plugin support
Pros & cons
Strengths
- Extremely lightweight
- Easy to back up
- Can be public or private
Trade-offs
- Dated default theme
- Single-user only
Shaarli replaces
Last reviewed Sep 13, 2026 · 798 words
Shaarli is a link log you publish, not a bookmark vault you hide. Every link you save is public unless you tick the box, the front page is an RSS-fed stream of your finds with your notes attached, and the whole thing lives in one flat file with no database. That was the design in 2013 and it still is; people who want a private, searchable archive with screenshots keep choosing linkding, and people who want a small personal "here is what I read this week" page keep choosing Shaarli. Decide which of those you are before installing either.
Public by default, and why that is the point
The original author built it as a replacement for the Delicious-era habit of sharing links, and the public page is the product. Each link has a title, a URL, a Markdown note (with the bundled plugin enabled), tags, and a private flag. Public links appear on the front page, in the RSS and Atom feeds, and in the daily digest page that groups a day's links. Private links only show when you are logged in. The trick that makes it work as a personal microblog is that a link can have no URL at all, just a note, so short posts and bookmarks share the same stream. If you would rather nobody saw any of it, set the whole instance private in settings and it becomes a plain bookmark manager, though at that point linkding's interface is nicer.
One file holds everything
Bookmarks are serialised into data/datastore.php, a PHP file that is compressed and encoded so a web server will not hand it out. The complete backup is that data/ directory: datastore, config, and the user's login hash. Copy it to another server running the same version and the instance is restored. Import and export use the Netscape bookmark HTML format that every browser and every rival app understands, so moving in from Firefox or out to Linkwarden is a menu item. There is a size ceiling to this design: past several tens of thousands of links the file loads slowly on every request, and Shaarli's own documentation says as much.
Running it
Docker is the quick route; the official image serves on port 80 in the container:
services:
shaarli:
image: shaarli/shaarli:latest
ports:
- "8080:80"
volumes:
- ./shaarli/data:/var/www/shaarli/data
- ./shaarli/cache:/var/www/shaarli/cache
restart: unless-stopped
First visit shows a setup form that creates the single user and writes the config. On bare metal it is any PHP web server with the release unzipped and data/ writable, and it idles at well under the catalogue's 128 MB. Put it behind a reverse proxy with TLS; the login is a plain password form, and there is a brute-force ban built in but no second factor.
The capture workflow is the bookmarklet
Shaarli's defining habit is the bookmarklet on the Tools page: drag it to the bookmark bar, click it on any page, and a pre-filled form pops up with the title fetched and a tag box waiting. Browser extensions and mobile apps exist from the community and talk to the REST API, which needs an API secret from the settings page. The API is also how you script it: I have a small job that posts links from an RSS reader's starred items straight into Shaarli with a toread tag, which is most of what a paid read-later service ever did for me. Anyone leaving one of those should compare notes on the Pocket alternatives page.
Plugins fix most of the complaints
The dated default theme is the first con and there are a handful of community themes that fix it. The plugin list bundled with the app covers Markdown notes, a QR code per link, archive.org snapshots, and a Wallabag button that sends a link to your read-later instance for full-text archiving. Shaarli does not archive page content itself; it stores the link and your words about it. If offline copies of the page are the point, that is Wallabag's job or linkding's, and the bookmarks category lays out which tools archive and which merely list.
What I'd do
If I want a public link log with a feed my friends can subscribe to, Shaarli, Markdown plugin on, a community theme, the data/ directory in nightly backups. Bookmarklet on the desktop, an API-driven app on the phone. If I want a private searchable bookmark archive, linkding, no contest. Running both is not silly: Shaarli as the public face, linkding as the vault, and a tag that decides which one a link goes to.
Compare Shaarli
16 head-to-head comparisons.
- Shaarli vs Karakeep
- Shaarli vs ArchiveBox
- Shaarli vs Linkwarden
- Shaarli vs Omnivore
- Shaarli vs Wallabag
- Shaarli vs Shiori
- Shaarli vs Linkding
- Shaarli vs Buku
- Shaarli vs Archivy
- Shaarli vs Grimoire
- Shaarli vs Promnesia
- Shaarli vs Read-later nono Reminiscence
- Shaarli vs Readeck
- Shaarli vs Espial
- Shaarli vs Bookmark dashboard nono Benotes
- Shaarli vs omnom
Similar bookmarks & read-it-later apps
Karakeep
Bookmarks & Read-It-LaterSelf-hosted bookmark everything app with AI tagging
Replaces Pocket, Raindrop.io
ArchiveBox
Bookmarks & Read-It-LaterSelf-hosted web archiving from bookmarks and feeds
Replaces Pocket
Linkwarden
Bookmarks & Read-It-LaterCollaborative bookmark manager with page archiving
Replaces Pocket, Raindrop.io
Omnivore
Bookmarks & Read-It-LaterRead-it-later app with highlights and newsletter support
Replaces Pocket, Instapaper
Wallabag
Bookmarks & Read-It-LaterSelf-hosted read-it-later application
Replaces Pocket, Instapaper
Shiori
Bookmarks & Read-It-LaterSimple bookmark manager built with Go
Replaces Pocket, Raindrop.io