Shiori vs Wallabag: Bookmark Managers Compared

Unlike Wallabag’s Full Read-Later Stack, Shiori Strips Down to Essentials

Wallabag is a mature Pocket replacement with native mobile apps, RSS feeds, tagging, annotations, and e-reader integration. Shiori is a Go binary that saves bookmarks with offline copies and gets out of the way. Both archive web pages for offline reading, but they target different users — Wallabag for the reading-workflow obsessive, Shiori for anyone who just wants bookmarks that don’t break.

Updated March 2026: Verified with latest Docker images and configurations.

Feature Comparison

FeatureShioriWallabag
LanguageGoPHP (Symfony)
DatabaseSQLite, PostgreSQL, MySQLPostgreSQL, MySQL, SQLite
Idle RAM~25–30 MB~150–300 MB
Container count12–3 (app + database + Redis)
Offline archivingFull HTML snapshotsArticle content extraction
Mobile appsPWA onlyNative Android + iOS
Browser extensionYes (beta)Yes (mature, all browsers)
TaggingYesYes
Full-text searchYesYes
Annotations/highlightsNoYes
RSS feed outputNoYes (per tag/starred)
Import from PocketYesYes
Import from NetscapeYesYes
E-reader exportNoYes (EPUB, PDF, Kindle)
APIYes (REST)Yes (REST, OAuth2)
Multi-userYesYes
SSO/proxy authYesVia reverse proxy
LicenseMITMIT

Installation Complexity

Shiori is a single container:

services:
  shiori:
    image: ghcr.io/go-shiori/shiori:v1.8.0
    container_name: shiori
    environment:
      - SHIORI_DIR=/srv/shiori
      - SHIORI_HTTP_SECRET_KEY=change-this-to-a-random-string
    ports:
      - "8080:8080"
    volumes:
      - shiori-data:/srv/shiori
    tmpfs:
      - /tmp
    restart: unless-stopped

volumes:
  shiori-data:

Default login: shiori / gopher. Change immediately.

Wallabag needs three services:

services:
  wallabag:
    image: wallabag/wallabag:2.6.14
    container_name: wallabag
    restart: unless-stopped
    ports:
      - "8080:80"
    environment:
      SYMFONY__ENV__DATABASE_DRIVER: "pdo_pgsql"
      SYMFONY__ENV__DATABASE_HOST: "db"
      SYMFONY__ENV__DATABASE_PORT: "5432"
      SYMFONY__ENV__DATABASE_NAME: "wallabag"
      SYMFONY__ENV__DATABASE_USER: "wallabag"
      SYMFONY__ENV__DATABASE_PASSWORD: "change_this_password"
      SYMFONY__ENV__DOMAIN_NAME: "https://wallabag.example.com"
      SYMFONY__ENV__SERVER_NAME: "Your Wallabag"
    depends_on:
      - db
      - redis

  db:
    image: postgres:16-alpine
    container_name: wallabag-db
    restart: unless-stopped
    environment:
      POSTGRES_DB: wallabag
      POSTGRES_USER: wallabag
      POSTGRES_PASSWORD: change_this_password
    volumes:
      - wallabag-db:/var/lib/postgresql/data

  redis:
    image: redis:7-alpine
    container_name: wallabag-redis
    restart: unless-stopped

volumes:
  wallabag-db:

Default login: wallabag / wallabag. The setup is more involved, but the documentation is mature.

Performance and Resource Usage

ResourceShioriWallabag
Idle RAM~25–30 MB~150–300 MB
Disk (application)~15 MB~200 MB
Startup time<1 second5–10 seconds
Archive storageFull HTML (larger)Extracted content (smaller)
CPU usageNegligibleLow (spikes during import)

Shiori saves complete HTML snapshots including images and stylesheets. Archives are larger per bookmark but more faithful to the original page. Wallabag extracts article content — smaller files, cleaner reading, but sometimes loses formatting or images.

For 1,000 bookmarks with archives: Shiori uses roughly 3–5 GB, Wallabag uses 500 MB–1 GB.

Community and Support

MetricShioriWallabag
GitHub stars~9K~10K
First release20192013
Update frequencyEvery few monthsMonthly
DocumentationBasic READMEFull docs site
Commercial offeringNonewallabag.it (hosted)
Community sizeSmallLarge, active
Third-party integrationsFewMany (Calibre, KOReader, RSS)

Wallabag has 10+ years of ecosystem growth. Its browser extensions work reliably across Chrome, Firefox, Safari, and Edge. Shiori’s browser extension exists but is marked beta — it works, but edge cases remain.

Use Cases

Choose Shiori If…

  • You want the lightest possible bookmark manager with archiving
  • Your server has limited RAM (256 MB or less available)
  • You prefer SQLite simplicity — no database server, no Redis
  • You mainly add bookmarks and search them later, without complex workflows
  • You run ARM hardware like a Raspberry Pi

Choose Wallabag If…

  • You want native mobile apps for reading articles on the go
  • You use e-readers and want EPUB/PDF export or Kindle integration
  • You need RSS feeds of your saved articles (for feeding to other tools)
  • You annotate and highlight text within saved articles
  • You’re migrating from Pocket or Instapaper and want the closest feature match

Final Verdict

Shiori wins on resource efficiency: 25 MB of RAM, one container, zero dependencies. Wallabag wins on ecosystem maturity: native apps, e-reader integration, annotations, RSS output, and a decade of community development. For a personal bookmark archive on minimal hardware, Shiori is the practical choice. For a full Pocket replacement with reading workflows, Wallabag has no real competition among self-hosted options.

FAQ

Can I migrate from Shiori to Wallabag?

Export from Shiori as a Netscape bookmark file, then import into Wallabag via Settings > Import > Firefox. Offline archives don’t transfer — Wallabag will re-fetch and re-extract the content.

Does Shiori have a reading mode like Wallabag?

Shiori shows archived pages in their original HTML format. Wallabag extracts and reformats content into a clean reading view, similar to Firefox Reader Mode.

Can Wallabag run with SQLite like Shiori?

Yes, but it’s not recommended for production. Wallabag’s Symfony stack benefits from PostgreSQL or MySQL for performance and concurrent access. SQLite works for single-user setups.

Which archives web pages more faithfully?

Shiori. It saves complete HTML snapshots with all assets. Wallabag extracts article content using heuristics, which sometimes misses images, sidebars, or interactive elements.

Do both support multiple users?

Yes. Both have multi-user support with separate bookmark collections per user.

Comments