Item logo image for vBookmarks

vBookmarks

http://windviki.github.io/vBookmarks/
Featured
3.8(

97 ratings

)
ExtensionWorkflow & Planning10,000 users
Item media 2 (screenshot) for vBookmarks
Item media 3 (screenshot) for vBookmarks
Item media 1 (screenshot) for vBookmarks
Item media 2 (screenshot) for vBookmarks
Item media 3 (screenshot) for vBookmarks
Item media 1 (screenshot) for vBookmarks
Item media 2 (screenshot) for vBookmarks
Item media 1 (screenshot) for vBookmarks
Item media 2 (screenshot) for vBookmarks
Item media 3 (screenshot) for vBookmarks

Overview

A popup bookmark manager. Enhanced Neat Bookmarks. Neater than Neater Bookmarks.

**vBookmarks** is a free, lightweight bookmark manager born from the classic NeatBookmarks. Since 2011, I've kept it going strong for over 15 years—packed with useful features, fully translated into 43 languages, regularly updated, and the first to support Chrome's new MV3 standard. Version 4.0 brings a complete modern redesign, while keeping the customizability and familiar feel that long-time users love. **Version 4.0 is the biggest release ever.** It turns your bookmark pile into a fast, keyboard-first workspace—with six specialized views, a dual-channel dead-link scanner that tells "down" from "blocked," a command palette you can customize with your own slash-commands, and full support for Chrome's side panel. All while staying free, lightweight, and private by design. # What vBookmarks does for you One click on the toolbar icon opens a six-view manager that lives in the popup (or Chrome's side panel—your choice): the familiar folder tree, instant fuzzy search, a "Recently Added" timeline, visit statistics, a dead-link scanner, and a duplicate cleaner. Everything is reachable with your keyboard, every deletion can be undone, and your data never leaves your browser—no accounts, no telemetry, no hidden code, just plain JavaScript you can read. - **Six views, one popup** — Tree / Search / Recent / Stats / Dead links / Duplicates, switched from an icon tab strip or with `Alt+1…6`. - **A maintenance crew for your library** — scan for dead links with pause & resume, deduplicate with six keep-strategies and undoable batch cleaning, save a whole window of tabs as a session folder. - **Keyboard-first for real** — every view is fully operable without a mouse: arrows, `Enter`, `F2` rename, `Delete`, view shortcuts, and a `Ctrl/Cmd+K` command palette. - **Fast and quiet** — fzf-style fuzzy search with match highlighting (CJK-friendly), omnibox search (`*` + Space), and sync-status indicators that stay out of your way. - **Make it yours** — five crafted themes (including Ink and Paper), custom CSS, custom toolbar icon, per-view visibility toggles—or hide the tab strip entirely for the classic one-pane look. - **Private by design** — local-only data, 43 languages, MIT licensed. - **Chrome and Edge** — one MV3 package installs on both. Licensed under the [MIT License](http://www.opensource.org/licenses/mit-license.php). Read the [FAQ](https://github.com/windviki/vBookmarks/wiki/FAQ). New in 4.0? Read the [v4 feature guide](guide-v4.md). # What makes v4 a leap forward Here are the big new things that set v4 apart—and they're all opt-out, so you can keep the classic feel if you prefer. ## 1. Six specialized views, one keyboard model The old single tree is now a full workspace: - **Tree** — the classic folder view, now sync-aware and drag-and-drop enabled. - **Search** — dual-zone: history on top, results below. History is MRU (most recent 10), re-runnable, removable, and clearable—all by keyboard. Leave and come back; your query and scroll position stay put. - **Recent** — grouped into **Today / This week / This month / Older**, each row showing a relative-time badge and full path. `R` to reveal any item in the tree. - **Stats** — 100% local visit counts, sortable by count or recency, with a pause switch and one-click erase. A **Recently visited** section (optional Chrome history access) shows what you actually browse, with one-click starring. - **Dead links** — dual-channel scanner (more on this below). Runs in the service worker, so closing the popup mid-scan loses nothing. Results stream in real time, with pause/resume/cancel and cross-view **dead marks** (a red ✕ that follows the link everywhere). - **Duplicates** — normalizes URLs (strips tracking params like `utm_*`, drops hashes, optionally folds http/https). Six keeper strategies, preview struck-through rows, then commit batch cleaning—all undoable. **One keyboard model everywhere**: arrows, Home/End, PageUp/PageDown, Enter, F2, Delete, type-ahead work identically in every list view. `Alt+1…6` jumps straight to any view. `Esc` layers cleanly: context menu → command palette → view action → clear search → tree → close. ## 2. Dual-channel dead-link scanner (with proxy support) Most bookmark checkers just tell you "this link failed." vBookmarks tells you *why*. - **First channel**: a direct fetch from your browser. If it fails, it could mean the site is down—or just blocked by your network. - **Second channel**: your own proxy server (http/https/socks5). The scanner routes only its own probe URLs through the proxy via a temporary PAC script—**every other tab's traffic stays on its normal path**. This lets it distinguish "down for everyone" from "just blocked here," and displays different badges for each. Add your proxy with one click in the Dead links view—the address is reachability-tested before it's saved. Change or remove it live from the same strip. Settings are restored the moment a scan settles, cancels, or the popup closes. The `proxy` permission is declared at install time (Chrome doesn't allow it as optional), but **it is completely unused unless you configure a proxy server and run a scan.** ## 3. Customizable command palette `Ctrl/Cmd+K` in the popup (or `Ctrl/Cmd+Shift+K` globally) is more than a search box: - **Go commands** jump to any view: `/recent`, `/stats`, `/dead`, `/dupes`. - **Power commands**: `/session` saves your window's tabs as a folder, `/theme <name>` switches themes instantly, `/options` opens settings, `/tabs` toggles the tab strip. - **Custom slash commands**—save any URL, URL template (e.g., `/g kimi code`), folder-as-tab-group, or view preset as your own command. Saved from the palette's *Save as a command* row, synced across devices, and editable/deletable from the row's menu. ## 4. Side panel support vBookmarks now works in Chrome's side panel—turn it on in settings (popup stays the default). The side panel reopens on the view you left, making it a permanent, always-accessible bookmark workspace. Quick shortcut: `Alt+Shift+B`. ## 5. Smarter, more customizable UI - **Five themes**—follow-system, light, dark, plus two "fable" designs: **Ink** (deep dark) and **Paper** (warm light), all built on shared design tokens. - **Icon tab strip** with live count badges (dead marks, duplicate groups, tracked pages). Hide it per view or entirely for the classic one-pane look. - **Popup or side panel**—both remember the last view you were on (switch off for always-tree boot). - **Settings overhaul**: Views group, Dead scan group, custom-commands management, and full **backup & restore**—export every setting to JSON and import it back. Options and advanced options merged into one responsive page. - **Classic-mode friendly**: one click restores the classic header; every new feature is opt-out. # Feature highlights (at a glance) 1. **Six views** in one popup: tree, search, recent, stats, dead-link scan, duplicate cleaner. 2. **Dual-channel dead-link scanner**—direct + proxy (your own http/https/socks5) to distinguish "down" from "blocked"; runs in service worker; pause/resume/cancel; cross-view dead marks. 3. **Customizable command palette** (`Ctrl/Cmd+K`, or `Ctrl/Cmd+Shift+K` globally)—built-in slash-commands + your own custom commands (URL/template/folder-group/view-preset), synced across devices. 4. **Side panel mode**—opt-in, remembers your last view, shortcut `Alt+Shift+B`. 5. **Search history**—MRU 10, re-run, per-item remove, clear-all; disable/wipe in settings. 6. **Visit statistics**—local counts, pause switch, one-click erase; optional Chrome-history powered "recently visited" section with one-click starring. 7. **Duplicate cleaner**—URL normalization (strips tracking params), six keeper strategies, preview struck-through, undoable batch deletion. 8. **Recent view**—grouped by Today / This week / This month / Older, with reveal-in-tree. 9. **Sync-aware**—Chrome 138+ dual local/synced storage: local-only dimmed, roots labeled, cross-storage drags blocked with a toast. 10. **Quick add everywhere**—star button, `Ctrl/Cmd+D`, global `Alt+Shift+S`, or right-click menu. 11. **Full keyboard support** in every view—arrows, Home/End, PageUp/PageDown, Enter, F2, Delete, type-ahead; `Alt+1…6` view jumps. 12. **Five themes**—light, dark, follow-system, Ink, Paper. 13. **Omnibox search**—type `*` + Space in the address bar. 14. **Backup & restore**—export/import all settings as JSON. 15. **43 languages**, aligned via LLM-assisted pipeline. # Notes on permissions vBookmarks asks for two permissions worth explaining: - **`history`** (optional, requested only when you opt in) — powers the **Recently visited** section in the Stats view. Instead of Chrome's raw history page, vBookmarks gives you a cleaner view of what you actually browse, with one-click starring to file bookmarks away. **If you never enable it, the Stats view works fine**—visit counts from the popup still accumulate, and the recent-visits section stays empty. Turn it on/off anytime in settings; wipe it instantly with the stats erase button. - **`proxy`** (declared at install time, not optional per Chrome's rules) — used **exclusively** for the dead-link scanner's dual-channel checking. Only the scanner's own marker-tagged probe URLs go through your configured proxy (via a temporary PAC script); every other tab's traffic stays on its normal path. Settings are restored the moment a scan settles, cancels, or the popup closes. **If you never configure a proxy or never run a dead-link scan, the proxy code path is never executed.** # Advanced usage ## Keyboard shortcuts Full keyboard support, identical across all six views (details in the [v4 feature guide](guide-v4.md)): - **↑↓** move selection; **↑** past the first row steps up to the tab strip, then the search box - **←→** on the tab strip switch views; **→** on a row opens its context menu, **←** closes it - **Enter** / **Space** to open; **Ctrl/Cmd+Enter** to open in a new tab - **Home** / **End**, **PageUp** / **PageDown**; **Alt+1…6** jump to a view directly - **Delete** to delete (undoable), **F2** to rename, **R** to reveal in tree; **K** pins a keeper in Duplicates, **M** toggles a dead mark - Type-ahead filtering in tree and search views - **Ctrl+F** focuses the search field; **Esc** clears, dismisses menus, pauses a scan, or closes the palette—layered from inner to outer ## Command palette in depth - `Ctrl/Cmd+K` inside the popup, `Ctrl/Cmd+Shift+K` globally - Built-in slash-commands: `/recent` `/stats` `/dead` `/dupes` (view jumps), `/session` (save tabs), `/options` (settings), `/theme <name>`, `/tabs` (toggle strip) - **Custom commands**: options page → Commands group, or the palette's *Save as a command* row—URL, URL template, folder-as-tab-group, view-preset; synced, editable, deletable ## Other handy features - **Omnibox search** — type `*` in the address bar, press Space, then enter keywords - **Middle-click a folder** to open all its bookmarks as a color-coded tab group - **Drag & drop** to rearrange; cross-storage drags are safely blocked with a toast - **Options page** customizations: separators, scan concurrency/timeout, custom CSS, custom toolbar icon, popup zoom, fixed height, close-behavior, background tabs, bookmarks-bar-only mode - **Backup & restore** — export/import all settings as JSON from the Backup group at the bottom of the options page # Changelog — v4.0 (2026/07) ## New views & workspace - **Six-view manager** — Tree / Search / Recent / Stats / Dead links / Duplicates with an icon tab strip, live count badges, per-view visibility toggles, and `Alt+1…6` jumps. - **Search view** — dual-zone layout (history on top, results below) with re-runnable MRU history. - **Recent view** — coarse time groups (Today / This week / This month / Older) and reveal-in-tree (`R`). - **Stats view** — local visit statistics with background collector, recently-visited section (optional Chrome history), and one-click starring. - **Dead-link view** — dual-channel checks, progressive rendering, pause/resume/cancel, cross-view dead marks, service-worker-backed (closing popup loses nothing). - **Duplicates view** — URL normalization, six keeper strategies, will-delete preview, undoable batch deletion. ## Proxy & dead-link scanner - Second channel now supports **your own proxy server** (http/https/socks5): one-click add in the view's proxy strip, reachability-tested before saving, change/remove live. - Routing uses a marker-matched temporary PAC script—**only scanner probe URLs go through the proxy**; other tabs untouched; settings restored on settle/cancel/popup close; crash residue swept by service worker. - Toolbar adds a dead·blocked summary line and a configure-proxy nudge when direct-failing rows have no proxy. ## Command palette - Go commands per view: `/recent`, `/stats`, `/dead`, `/dupes`. - Power commands: `/theme <name>`, `/session`, `/options`, `/tabs`, aliases. - **Custom slash commands** — URL/template/folder-group/view-preset, synced, saved from palette's *Save as a command* row. - Search bridge row, auto-close on blur. ## UI & theming - **Ink & Paper** "fable" themes (deep dark / warm light), five themes total. - Icon tab strip with count badges; per-view visibility toggles; hide strip entirely for classic one-pane look. - Sync status presentation rework: quiet dots, localized tooltips, `(Local)`/`(Synced)` root labels, blocked-drag toast, working "highlight unsynced" dimming. - Quick-add star button in popup; global quick-add shortcut (`Alt+Shift+S`). ## Options & settings - New **Views group** — tab-strip and per-view visibility, count badges, remember-last-view switch, palette/quick-add/tool-button toggles, one-click *Restore the classic header* button. - New **Dead scan group** — proxy template, concurrency, timeout. - New **Commands group** — manage custom slash commands. - **Backup & restore** — export/import all settings as JSON. - Options and advanced options merged into a single responsive page (old URL redirects). ## Side panel - Optional side-panel mode (opt-in; popup stays default) with `Alt+Shift+B` shortcut. - Remembers the last view you left (like the popup). ## Keyboard & accessibility - **Unified keyboard model** across all six views: arrows, Home/End, PageUp/PageDown, Enter, F2, Delete, type-ahead. - **Layered Esc** — context menu → command palette → view action → clear search → tree → close. - Selection modes in Dead links (batch mark/unmark) and Duplicates (batch group cleaning) with `Esc` to exit. - `Tab`/`Shift+Tab` region cycling including in-list toolbars, with per-region focus memory. - Duplicates member-row keys: `Enter` opens a copy, `←` returns to group head; group-head menus. - ARIA roles on all context menus; `aria-modal` dialogs with focus trap. ## Bulk operations - Bulk tools (dead-link scan & duplicate cleaner) show a one-time **backup-first risk banner** linking to Chrome's backup guide; *Don't show again* snoozes until next major version. - Dead links: batch mark/unmark; duplicate cleaner: batch group cleaning. ## Engineering - **Repository reorganized** — `src/`, `pages/`, `css/`, `assets/`, `scripts/`; obsolete `release/` and MV2 leftovers removed (kept in git history). - All icons now inline SVG; bitmap icons retired. - **Locale baseline** grew to 345 keys; all 43 locales re-aligned via `scripts/i18n.py` LLM pipeline. - **Test suite** grew to 1386 cases across 43 Vitest suites (unit + contract tests). - **Docker harness** extended with keyboard/view verification suite and multi-theme, multi-language screenshot captures. - **GitHub Actions CI** — unit suites, i18n gates, and release packaging on every push and PR. ## Changed - The `proxy` permission is declared at install time (Chrome refuses it as optional) and is exercised **only** while a configured proxy serves a running scan or the add-flow reachability probe—never when no proxy server is set or dead-link scanning is unused.

Details

  • Version
    4.0.1
  • Updated
    August 8, 2026
  • Size
    738KiB
  • Languages
    40 languages
  • Developer
    Website
    Email
    windviki@gmail.com
  • Non-trader
    This developer has not identified itself as a trader. For consumers in the European Union, please note that consumer rights do not apply to contracts between you and this developer.

Privacy

Manage extensions and learn how they're being used in your organization
The developer has disclosed that it will not collect or use your data.

This developer declares that your data is

  • Not being sold to third parties, outside of the approved use cases
  • Not being used or transferred for purposes that are unrelated to the item's core functionality
  • Not being used or transferred to determine creditworthiness or for lending purposes

Support

For help with questions, suggestions, or problems, please open this page on your desktop browser

Google apps