← All articles
PRODUCTIVITY Linkwarden: Self-Hosted Bookmark Manager with Archiving 2026-02-08 · linkwarden · bookmarks · archiving

Linkwarden: Self-Hosted Bookmark Manager with Archiving

Productivity 2026-02-08 linkwarden bookmarks archiving productivity

You have bookmarks scattered across three browsers, a "Read Later" folder with 400 items, and a growing suspicion that half those links are already dead. Browser bookmarks have no search, no tags worth using, no archiving, and no way to share across devices without syncing your entire browser profile through Google or Apple.

Linkwarden is a self-hosted bookmark manager that solves this properly. Save links with tags and collections, and Linkwarden automatically archives the page content — screenshots and full-page copies — so the content survives even when the original site goes down. It's collaborative, searchable, and works across every device through browser extensions and a clean web interface.

Why Self-Host Your Bookmarks?

Browser bookmarks seem fine until they aren't:

Linkwarden vs. Linkding vs. Wallabag

Three strong options exist for self-hosted bookmarks. They serve different needs:

Feature Linkwarden Linkding Wallabag
Primary focus Bookmarks + archiving Bookmarks (lightweight) Read-later + archiving
Page archiving Screenshots + full copies No (links only) Full article extraction
Collections Yes (hierarchical) No (tags only) Yes (entries + tags)
Collaboration Multi-user, shared collections Multi-user Multi-user
Browser extension Yes Yes Yes
Mobile app PWA PWA Native iOS + Android
Full-text search Yes (archived content) Yes (titles + descriptions) Yes (article content)
Resource usage Moderate (~300 MB RAM) Minimal (~50 MB RAM) Moderate (~200 MB RAM)
Tech stack Next.js + PostgreSQL Python + SQLite PHP + MySQL/PostgreSQL
Import from Browsers, Pocket, others Netscape HTML Pocket, Instapaper, Pinboard

When to choose each

Linkwarden — You want a full-featured bookmark manager with archiving, collections, and collaboration. You're willing to run PostgreSQL.

Linkding — You want the lightest possible bookmark manager. You don't need archiving or collections. Tags are enough. Runs on minimal hardware.

Wallabag — You primarily want a read-later service (like Pocket). You want to extract article content for offline reading. Less focused on bookmark organization.

Docker Setup

Linkwarden requires PostgreSQL for its database. Here's the complete setup:

services:
  linkwarden:
    image: ghcr.io/linkwarden/linkwarden:latest
    container_name: linkwarden
    restart: unless-stopped
    depends_on:
      - linkwarden-db
    ports:
      - "3000:3000"
    environment:
      DATABASE_URL: postgresql://linkwarden:changeme@linkwarden-db:5432/linkwarden
      NEXTAUTH_SECRET: generate-a-random-string-here
      NEXTAUTH_URL: http://localhost:3000
      # Optional: S3-compatible storage for archives
      # SPACES_ENDPOINT: https://your-s3-endpoint
      # SPACES_BUCKET_NAME: linkwarden
      # SPACES_KEY: your-access-key
      # SPACES_SECRET: your-secret-key
    volumes:
      - ./data:/data/data

  linkwarden-db:
    image: postgres:16
    container_name: linkwarden-db
    restart: unless-stopped
    environment:
      POSTGRES_USER: linkwarden
      POSTGRES_PASSWORD: changeme
      POSTGRES_DB: linkwarden
    volumes:
      - pgdata:/var/lib/postgresql/data

volumes:
  pgdata:
docker compose up -d

Open http://your-server:3000 and create your account. The first registered user becomes the admin.

Important configuration

Reverse proxy setup

For HTTPS access, add a Caddy config:

bookmarks.yourdomain.com {
    reverse_proxy localhost:3000
}

Update NEXTAUTH_URL to https://bookmarks.yourdomain.com and restart Linkwarden.

Browser Extension

Linkwarden has extensions for Chrome and Firefox that add a one-click save button to your browser.

Installation

  1. Install from the Chrome Web Store or Firefox Add-ons
  2. Click the extension icon and enter your Linkwarden server URL
  3. Log in with your credentials

Using the extension

When you find a page worth saving:

  1. Click the Linkwarden extension icon
  2. Add tags (optional)
  3. Select a collection (optional)
  4. Click Save

The page is saved to Linkwarden and archiving starts in the background. You can also right-click any link and select "Save to Linkwarden" without opening the page.

Organizing with Collections and Tags

Linkwarden uses a dual system: collections for hierarchical organization and tags for cross-cutting labels.

Collections

Collections work like folders and can be nested:

Development/
  Frontend/
  Backend/
  DevOps/
Research/
  AI & ML/
  Self-Hosting/
Recipes/
Reading List/

Each collection can have its own sharing settings — public, shared with specific users, or private.

Tags

Tags cut across collections:

Recommended approach

Use collections for broad categories (what the link is about) and tags for status or type (how you interact with it). Don't over-organize — Linkwarden's full-text search means you can find things even without perfect tagging.

Automatic Archiving and Screenshots

This is Linkwarden's killer feature. When you save a link, Linkwarden:

  1. Takes a screenshot of the page as it appeared when you saved it
  2. Saves a full copy of the page content (readable version)
  3. Stores the PDF (optional, configurable)

Why this matters

Archive storage

Archives accumulate over time. For a heavy user saving 20-30 links per week:

Configure S3-compatible storage if you want to offload archives from your local disk.

Collaboration Features

Linkwarden supports multiple users with shared collections:

Setting up collaboration

  1. Create a collection (e.g., "Team Resources")
  2. Click the sharing icon on the collection
  3. Invite other Linkwarden users by username or email
  4. Set permissions: View only, Can add links, or Full access

Use cases

Each user still has their own private collections alongside shared ones.

Importing from Other Services

Linkwarden can import bookmarks from several sources:

From your browser

  1. Export bookmarks from your browser (Chrome: Bookmark Manager → Export; Firefox: Library → Import and Backup → Export)
  2. In Linkwarden, go to Settings → Import
  3. Upload the HTML file
  4. Linkwarden imports all bookmarks, preserving folder structure as collections

From Pocket

  1. Export your Pocket data from getpocket.com/export
  2. Upload the HTML file in Linkwarden's import settings

From Raindrop.io

  1. Export as HTML from Raindrop.io settings
  2. Import into Linkwarden

After import, Linkwarden begins archiving all imported links in the background. This can take a while for large imports (hundreds or thousands of links), so be patient and let it run.

API and Automation

Linkwarden has a REST API for programmatic access:

API token

Generate an API token under Settings → API Keys.

Example: Save a link via API

curl -X POST https://bookmarks.yourdomain.com/api/v1/links \
  -H "Authorization: Bearer your-api-token" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/article",
    "name": "Interesting Article",
    "collection": { "id": 1 },
    "tags": [{ "name": "reference" }]
  }'

Automation ideas

Backup Strategy

Your bookmarks and archives are valuable. Back them up:

  1. Database: docker compose exec linkwarden-db pg_dump -U linkwarden linkwarden > backup.sql
  2. Archive files: Back up the ./data directory (contains screenshots and page copies)
  3. Export: Linkwarden can export all bookmarks as HTML — keep a periodic export as a portable backup

The Honest Trade-offs

Linkwarden is great if:

Linkwarden is not ideal if:

Bottom line: Linkwarden fills a real gap. Browser bookmarks don't archive or search well. Pocket and Raindrop.io store your data in the cloud. Linkding is lighter but doesn't archive. If you value preserving the content behind your bookmarks — not just the URLs — Linkwarden is the best self-hosted option available. The collections system, collaboration features, and automatic archiving make it worth the slightly heavier resource footprint.

Resources