A feature-enhanced browser extension for the linkding bookmark manager — built on top of the original linkding-extension by Sascha Ißbrücker.
This fork adds a number of UX improvements focused on fast bookmark browsing directly from the popup:
| Feature | Description |
|---|---|
| Bookmark Tree as default view | The popup opens directly with the bookmark tree instead of the add-bookmark form |
| File-explorer design | Folder icons, favicons per bookmark, ├/└ tree connectors, compact layout |
| Context menu | Right-click any bookmark: New tab, Same tab, Edit |
| Persistent state | Expanded folders and scroll position are remembered across popup opens |
| Bundle Filter | Filter the tree to show only bookmarks from specific linkding bundles |
| Manifest V3 | Updated to MV3 for compatibility with current Chrome/Edge versions |
The popup opens directly with the bookmark tree — organized by tags, with favicons and tree connectors.
Configure your linkding server URL, API token, and optional bundle filter.
The API token can be found in your linkding installation under Settings → Integrations.
- Clone or download this repository
- Install dependencies:
npm install - Build:
npm run build - Open
chrome://extensions/(oredge://extensions/) - Enable Developer mode
- Click Load unpacked → select the project folder
After code changes, run npm run build again and click Reload in the extensions page.
Use npm run dev to auto-rebuild on every file change.
Load via about:debugging → Load Temporary Add-on → select manifest.json.
Note: This extension uses Manifest V3, which requires Chrome 119+ or a compatible browser.
Open the extension options (gear icon in the popup header):
| Setting | Description |
|---|---|
| Base URL | URL of your linkding installation, without trailing slash |
| API Token | Found on your linkding Settings page |
| Default Tags | Tags pre-filled when adding a new bookmark |
| Bundle Filter | Comma-separated bundle names to filter the tree (see below) |
| Pre-select unread | Mark new bookmarks as unread by default |
| Pre-select share | Mark new bookmarks as shared by default |
| Use browser metadata | Use the browser tab's title/description instead of fetching from server |
| Pre-load page info | Pre-fetch bookmark status while browsing (shows starred icon on bookmarked pages) |
| Close popup after save | Automatically close the popup after saving a bookmark |
linkding supports bundles — saved filter presets that group bookmarks by tags, search terms, or a combination. The Bundle Filter setting limits the bookmark tree to only show bookmarks belonging to the specified bundles.
Example: If you have bundles named Work and Programming, enter:
Work, Programming
The tree will then only show bookmarks from either bundle. The tag folders are derived directly from those bookmarks — no extra API call needed. Leaving the field empty shows all bookmarks (default behaviour).
Bundles are managed in your linkding web interface under Settings → Bundles.
Requires linkding v1.24 or later.
# Install dependencies
npm install
# Build once
npm run build
# Watch mode — rebuilds on every file change
npm run devsrc/
bookmarks-tree.js Bookmark tree component (file-explorer style)
popup-form.js Main popup component (tree + form views)
popup.js Root popup component
options.js Settings page
linkding.js linkding REST API client
configuration.js Extension settings storage
cache.js Bookmark and metadata caching
icons.js SVG icon helpers
styles/
index.css Main stylesheet
theme-light.css Light theme CSS variables
theme-dark.css Dark theme CSS variables
popup/
index.html Popup HTML entry point
options/
index.html Options page HTML entry point
Based on linkding-extension by Sascha Ißbrücker, licensed under MIT.


