explaingit

sissbruecker/linkding

10,594PythonAudience · developerComplexity · 3/5Setup · moderate

TLDR

A self-hosted bookmark manager you run on your own server with tagging, Markdown notes, automatic page archiving to local storage or the Internet Archive, browser extensions for one-click saving, and a REST API.

Mindmap

mindmap
  root((linkding))
    What it does
      Save and tag bookmarks
      Archive pages locally
      Read-it-later flag
      Share with others
    Tech stack
      Python
      Django
      Docker
      Node.js
    Integrations
      Firefox extension
      Chrome extension
      REST API
      OIDC single sign-on
    Use cases
      Personal reading list
      Team link sharing
      Offline page archive
      Import and export
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Replace cloud bookmark services like Pocket or Pinboard with a self-hosted alternative you fully control.

USE CASE 2

Save pages with one click from Firefox or Chrome and archive them locally so content survives link rot.

USE CASE 3

Share a curated set of bookmarks with teammates using shared links or guest access.

USE CASE 4

Build a personal automation tool on top of linkding's REST API to auto-tag or bulk-import bookmarks.

Tech stack

PythonDjangoDockerNode.js

Getting it running

Difficulty · moderate Time to first run · 30min

Development setup requires Python 3.13, Node.js, and the uv package manager, production use needs Docker.

No license information was mentioned in the explanation.

In plain English

linkding is a bookmark manager you run on your own server. The name combines the word "link" with the German word "Ding," meaning thing, so it is roughly "a thing for managing your links." It is designed to be small and fast, with a clean interface focused on readability, and can be installed quickly using Docker. The core workflow is saving URLs with tags to organize them. From there you can add Markdown notes to bookmarks, use a "read it later" flag to defer reading, and bulk-edit multiple bookmarks at once. linkding also fetches the title, description, and favicon of each bookmarked website automatically so you do not have to fill those in yourself. A notable feature is automatic archiving. When you save a bookmark, linkding can save a local copy of the page as an HTML file, or submit it to the Internet Archive, so you have a record of what the page contained even if the original goes offline. You can also import and export your entire bookmark collection in the Netscape HTML format that most browsers use, making migration in and out straightforward. Browser extensions for Firefox and Chrome let you save pages with one click while browsing, and a bookmarklet covers other browsers. The app can be installed as a Progressive Web App on mobile devices. For teams or shared setups, you can share bookmarks with other registered users or with guest links, and single sign-on via OIDC or an authentication proxy is supported. A REST API is available for building third-party apps on top of the service. The backend is built with Django, a Python web framework. Running it in development requires Python 3.13, Node.js, and a package manager called uv. Managed hosting options are available if you prefer not to run your own server.

Copy-paste prompts

Prompt 1
Give me the Docker command to start linkding on my home server and create the first admin user.
Prompt 2
How do I import my exported Chrome bookmarks HTML file into linkding?
Prompt 3
I want linkding to automatically archive pages to the Internet Archive when I save them. How do I turn that on?
Prompt 4
Write a Python script that uses the linkding REST API to bulk-import a list of URLs with tags.
Prompt 5
How do I put linkding behind an Nginx reverse proxy with HTTP basic auth so it's not open to the public internet?
Open on GitHub → Explain another repo

← sissbruecker on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.