A self-hostable bookmark-everything app (links, notes and images) with AI-based automatic tagging and full text search https://karakeep.app
  • TypeScript 98.6%
  • Shell 0.5%
  • JavaScript 0.3%
  • Astro 0.2%
  • Dockerfile 0.2%
Find a file
2026-07-18 19:21:09 +01:00
.claude chore: fix claude settings invalid json 2026-02-09 01:13:17 +00:00
.github ci: disable plugin tests 2026-06-27 08:21:46 +01:00
.husky chore: add extra batch size logging to the meilisearch plugin 2026-04-06 20:27:03 +01:00
apps feat: archive old completed sessions 2026-07-18 18:38:26 +01:00
charts chore: Move the helm charts to their own repo 2025-07-19 08:46:47 +00:00
docker fix: respect PORT in Docker healthchecks (#2948) 2026-07-18 11:43:48 +01:00
docs readme: drop heavy dev notice now that it's stable enough 2026-07-18 19:21:09 +01:00
kubernetes fix(deps): Update meilisearch version to v1.41.0 (#2643) 2026-04-09 23:40:10 +01:00
packages ci: fix failing trpc test 2026-07-18 19:18:55 +01:00
patches [mobile] Upgrade mobile app to Expo SDK 56 (#2946) 2026-07-12 17:14:11 +01:00
screenshots landing: Update Homepage and Hero Image (#1304) 2025-04-25 10:23:13 +01:00
skills fix: fix clawhub skill yaml 2026-04-14 15:12:47 +01:00
snapshots chore: Add seed snapshot generator (#2829) 2026-05-20 21:37:33 +01:00
tooling deps: upgrade meilisearch client package 2026-05-31 00:08:48 +01:00
tools chore: Add seed snapshot generator (#2829) 2026-05-20 21:37:33 +01:00
.dockerignore chore: upgrade to pnpm 11 (#2833) 2026-05-20 23:28:53 +01:00
.env.sample chore: rename missing files/conf from Hoarder to Karakeep (#1280) 2025-04-21 18:59:40 +01:00
.gitignore deps: upgrade nextjs to 16 (#2827) 2026-05-20 17:08:35 +01:00
.ignore chore: add a .ignore file to filter out noisy dirs from search 2026-05-18 14:34:18 +01:00
.nvmrc fix: compile native modules under pnpm 9 and pin Node 24 (#2686) 2026-04-10 09:33:36 +01:00
.oxfmtrc.json chore: use .gitignore as source of truth for oxfmt and oxlint (#2740) 2026-04-29 14:05:18 +01:00
.oxlintrc.json chore: use .gitignore as source of truth for oxfmt and oxlint (#2740) 2026-04-29 14:05:18 +01:00
AGENTS.md chore: improve AGENTS.md (#2826) 2026-05-20 14:50:47 +01:00
CLAUDE.md chore: Update the agent files 2025-09-07 15:38:02 +00:00
CONTRIBUTING.md docs: replace hoarder with karakeep in CONTRIBUTING.md and FAQ (#1256) 2025-04-13 12:40:20 +01:00
GEMINI.md chore: Update the agent files 2025-09-07 15:38:02 +00:00
karakeep-linux.sh chore: upgrade to pnpm 11 (#2833) 2026-05-20 23:28:53 +01:00
LICENSE Add readme and license 2024-02-20 17:22:14 +00:00
package.json fix: rename root package to @karakeep/root. fixes #2939 2026-07-12 16:24:51 +01:00
pnpm-lock.yaml fix: upgrade some packages 2026-07-18 18:38:26 +01:00
pnpm-workspace.yaml fix: upgrade some packages 2026-07-18 18:38:26 +01:00
README.md readme: drop heavy dev notice now that it's stable enough 2026-07-18 19:21:09 +01:00
SECURITY.md docs: update SECURITY.md 2026-05-16 00:33:02 +01:00
start-dev.sh fix(deps): Update meilisearch version to v1.41.0 (#2643) 2026-04-09 23:40:10 +01:00
turbo.json chore: migrate to oxfmt 2026-03-01 17:17:33 +00:00

Karakeep (previously Hoarder) is a self-hostable bookmark-everything app with a touch of AI for the data hoarders out there.

homepage screenshot

Features

  • 🔗 Bookmark links, take simple notes and store images and pdfs.
  • ⬇️ Automatic fetching for link titles, descriptions and images.
  • 📋 Sort your bookmarks into lists.
  • 👥 Collaborate with others on the same list.
  • 🔎 Full text search of all the content stored.
  • LLM-based automatic tagging and summarization. With supports for local models using ollama!
  • 🤖 LLM Agents (e.g. OpenClaw, Hermes) friendly with powerful CLI, and official skills.
  • ⚙️ Rule-based engine for customized management.
  • 🎆 OCR for extracting text from images.
  • 🔖 Chrome plugin, Firefox addon, and Safari extension for quick bookmarking.
  • 📱 An iOS app, and an Android app.
  • 📰 Auto hoarding from RSS feeds.
  • 🔌 REST API and multiple clients.
  • 🌐 Multi-language support.
  • 🖍️ Mark and store highlights from your hoarded content.
  • 🗄️ Full page archival (using monolith) to protect against link rot.
  • ▶️ Auto video archiving using yt-dlp.
  • ☑️ Bulk actions support.
  • 🔐 SSO support.
  • 🌙 Dark mode support.
  • 💾 Self-hosting first.
  • ⬇️ Bookmark importers from Chrome, Pocket, Linkwarden, Omnivore, Tab Session Manager.
  • 🔄 Automatic sync with browser bookmarks via floccus.
  • [Planned] Offline reading on mobile, semantic search across bookmarks, ...

Documentation

Demo

You can access the demo at https://try.karakeep.app. Login with the following creds:

email: demo@karakeep.app
password: demodemo

The demo is seeded with some content, but it's in read-only mode to prevent abuse.

About the name

The name Karakeep is inspired by the Arabic word "كراكيب" (karakeeb), a colloquial term commonly used to refer to miscellaneous clutter, odds and ends, or items that may seem disorganized but often hold personal value or hidden usefulness. It evokes the image of a messy drawer or forgotten box, full of stuff you can't quite throw away—because somehow, it matters (or more likely, because you're a hoarder!).

Stack

  • NextJS for the web app. Using app router.
  • Drizzle for the database and its migrations.
  • NextAuth for authentication.
  • tRPC for client->server communication.
  • Puppeteer for crawling the bookmarks.
  • OpenAI because AI is so hot right now.
  • Meilisearch for the full content search.

Why did I build it?

I browse reddit, twitter and hackernews a lot from my phone. I frequently find interesting stuff (articles, tools, etc) that I'd like to bookmark and read later when I'm in front of a laptop. Typical read-it-later apps usecase. Initially, I was using Pocket for that. Then I got into self-hosting and I wanted to self-host this usecase. I used memos for those quick notes and I loved it but it was lacking some features that I found important for that usecase such as link previews and automatic tagging (more on that in the next section).

I'm a systems engineer in my day job (and have been for the past 7 years). I didn't want to get too detached from the web development world. I decided to build this app as a way to keep my hand dirty with web development, and at the same time, build something that I care about and use every day.

Alternatives

  • memos: I love memos. I have it running on my home server and it's one of my most used self-hosted apps. It doesn't, however, archive or preview the links shared in it. It's just that I dump a lot of links there and I'd have loved if I'd be able to figure which link is that by just looking at my timeline. Also, given the variety of things I dump there, I'd have loved if it does some sort of automatic tagging for what I save there. This is exactly the usecase that I'm trying to tackle with Karakeep.
  • mymind: Mymind is the closest alternative to this project and from where I drew a lot of inspirations. It's a commercial product though.
  • raindrop: A polished open source bookmark manager that supports links, images and files. It's not self-hostable though.
  • Bookmark managers (mostly focused on bookmarking links):
    • Pocket (Dead): Pocket is what hooked me into the whole idea of read-it-later apps. I used it a lot. However, I recently got into home-labbing and became obsessed with the idea of running my services in my home server. Karakeep is meant to be a self-hosting first app. Mozilla recently announced that it's shutting down pocket.
    • Linkwarden: An open-source self-hostable bookmark manager that I ran for a bit in my homelab. It's focused mostly on links and supports collaborative collections.
    • Wallabag: Wallabag is a well-established open source read-it-later app written in php.
    • Shiori: Shiori is meant to be an open source pocket clone written in Go.

Translations

Karakeep uses Weblate for managing translations. If you want to help translate Karakeep, you can do so here.

Karakeep Cloud ☁️

If you're not comfortable with self-hosting, you can use our managed Karakeep cloud at cloud.karakeep.app. Cloud subscriptions support the development of Karakeep.

Support

If you're enjoying using Karakeep, drop a on the repo!

Buy Me A Coffee

Community Channels

License

Karakeep is licensed under AGPL-3.0 and owned by Localhost Labs Ltd.

Star History

Star History Chart