Linkwarden — Self-Hosted Collaborative Bookmark Manager
Linkwarden is an open-source bookmark manager that saves, organizes, and preserves web pages with full-page screenshots, PDF snapshots, and collaborative collections.
What it is
Linkwarden is a self-hosted, open-source bookmark manager built for teams and individuals who want to preserve web content permanently. Unlike browser bookmarks or cloud services like Pocket, Linkwarden captures a full-page screenshot and a PDF snapshot of every saved link. If the original page goes offline, your archived copy remains intact.
It is designed for researchers, knowledge workers, and teams who rely on web references and cannot afford broken links. The browser extension makes saving as simple as one click from Chrome, Firefox, or Safari.
How it saves time or tokens
Manually archiving pages via Wayback Machine or local PDF exports is tedious and inconsistent. Linkwarden automates the entire preservation pipeline on save. Full-text search across saved page content means you find references by what the page says, not just its title or URL. Collaborative collections with permission controls eliminate the overhead of sharing bookmark lists through spreadsheets or chat messages.
How to use
- Clone the repository and start the stack with Docker Compose.
git clone https://github.com/linkwarden/linkwarden.git
cd linkwarden
cp .env.sample .env
docker compose up -d
- Open
http://localhost:3000, register an account, and install the browser extension for one-click saving.
- Create collections, add tags, and share collections with team members using permission controls.
Example
Importing bookmarks from another service:
# Export from Pocket as HTML, then import via the Linkwarden UI:
# Settings -> Import -> Upload pocket_export.html
# Linkwarden will re-archive each imported link automatically.
After import, every link gets a fresh screenshot and PDF snapshot stored on your server.
Related on TokRepo
- Self-hosted tools -- Browse more self-hosted alternatives for common cloud services.
- Automation tools -- Workflows that automate repetitive tasks like archiving and organizing.
Common pitfalls
- Running without a reverse proxy exposes port 3000 directly. Put Nginx or Caddy in front for HTTPS.
- The default
.envuses SQLite. Switch to PostgreSQL for multi-user deployments to avoid lock contention. - Screenshot capture requires headless Chromium inside the container. Low-memory devices (under 1 GB RAM) may fail silently on large pages.
Frequently Asked Questions
For personal and small-team use, yes. Linkwarden offers the same core features -- save, tag, search, and organize bookmarks -- plus page preservation via screenshots and PDFs. The trade-off is that you host and maintain the server yourself, which means you handle backups and updates.
Yes. Linkwarden accepts HTML bookmark exports from Chrome, Firefox, Safari, Pocket, and Raindrop. The import process re-archives each link, generating fresh screenshots and PDFs for every imported bookmark.
Linkwarden runs in Docker and needs at least 2 GB of RAM due to the headless Chromium used for screenshots. A VPS with 2 CPU cores and 4 GB RAM handles most personal workloads. Storage depends on how many pages you archive -- plan for roughly 2-5 MB per bookmark.
Linkwarden is open-source under AGPL-3.0. You can self-host it for free. The project also offers a managed cloud plan for users who prefer not to run their own server.
When a page is saved, Linkwarden extracts and indexes the full text content. You can search across all saved pages by keyword, not just by title or URL. This makes it easy to find references even when you only remember a phrase from the page.
Citations (3)
- Linkwarden GitHub— Linkwarden captures full-page screenshots and PDF snapshots of every saved link
- Linkwarden Docs— Supports import from Pocket, Raindrop, and browser HTML/JSON exports
- Linkwarden GitHub README— AGPL-3.0 license, self-hosted with Docker
Related on TokRepo
Source & Thanks
- GitHub: linkwarden/linkwarden — 17.8K+ ⭐ | AGPL-3.0
- Website: linkwarden.app
Discussion
Related Assets
NAPI-RS — Build Node.js Native Addons in Rust
Write high-performance Node.js native modules in Rust with automatic TypeScript type generation and cross-platform prebuilt binaries.
Mamba — Fast Cross-Platform Package Manager
A drop-in conda replacement written in C++ that resolves environments in seconds instead of minutes.
Plasmo — The Browser Extension Framework
Build, test, and publish browser extensions for Chrome, Firefox, and Edge using React or Vue with hot-reload and automatic manifest generation.