Languages: English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Français · Deutsch · Español · Português (Brasil) · Русский · العربية · हिन्दी · ไทย · Tiếng Việt — see TRANSLATIONS.md
Your new tab is a spatial bookmark board. Organize bookmarks into labeled boxes on an infinite, hierarchical canvas — drag, connect, and nest them spatially.
Install · Screenshots · Why · Usage · Privacy · Store rollout
Think Obsidian canvas meets bookmarks.
Proof — the new tab page, out of the box:
Infinite canvas. Pan and zoom freely (Ctrl+scroll, 30%–200%). Create as many boxes as you need, draw SVG connection lines between them, and mark parent boxes so children follow when the parent moves.
Two-level hierarchy. Large boxes hold small boxes; small boxes hold bookmarks. Click a box to enter its sub-canvas — breadcrumbs track the path, and nesting goes as deep as you like.
Bookmark management. Every box keeps its own bookmark collection in list or grid view: add, edit, delete, drag to reorder, and open links in the current tab or a new one (configurable).
Connections. Drag from a box edge to link two boxes. Alt+Click removes a line — or remap the delete gesture to single- or double-click in settings. Child boxes stay inside their parent's bounds with elastic clamping.
Design. Beige minimalist theme with light and dark modes (follows the system), adjustable font size and zoom, and a square/rounded corner toggle.
14 languages. en, zh_CN, zh_TW, ja, ko, fr, de, es, pt_BR, ru, ar, hi, th, vi — detected automatically from the browser locale.
| Canvas | Boxes & Bookmarks | Connections |
|---|---|---|
![]() |
![]() |
![]() |
| Settings | Bookmark Editing |
|---|---|
![]() |
![]() |
Light/dark logos, extension icons, favicons, store tiles, and a variants showcase live in docs/brand/ — reuse them for store listings, docs, and the GitHub social preview.
Important
Install from the official store pages below — that is the supported end-user path. GitHub Releases carries the user-facing changelog and source/sideload zips; it no longer ships .xpi / .crx builds. Store signing and rollout: publishing guide · store plan.
- Open Firefox Browser ADD-ONS — Boxing New Tab
- Click Add to Firefox and follow the browser prompts to finish installing
- Open Edge Add-ons — Boxing
- Click Get to install — Chromium browsers, including Chrome, use the Edge store page for now; no Chrome Web Store listing exists yet (it is deferred until after the Edge rollout)
git clone https://github.com/Xxx91n/boxing.git
cd boxing
npm ci
npm run build- Chrome/Edge:
chrome://extensions→ Developer mode → Load unpacked → selectdist/boxing-chrome/ - Firefox:
about:debugging#/runtime/this-firefox→ Load Temporary Add-on → selectdist/boxing-firefox/manifest.json
Note
Build output zips are for store upload or local debugging only, not the official end-user install path. Install from the store links above.
Signing is handled by the stores; this repository's GitHub Releases no longer ship .xpi / .crx.
- Double-click empty canvas → create a new box
- Drag box title bar → move box
- Ctrl+scroll → zoom canvas (30% to 200%)
- Drag empty canvas → pan
- Right-click → go back to parent canvas level
- Click a box → enter its sub-canvas
- Drag from box edge midpoint → connect to another box
- Alt+Click a connection line → delete it
- Star icon on a box → mark as parent (children move together)
- Pin icon → lock box position
- Canvas top-right circle button → unpin header for fullscreen mode
- Node.js 24.22.1 — pinned in
.nvmrc;engines.nodeis^24.22.1and.npmrcsetsengine-strict=true, so a runtime outside that range (below 24.22.1, or Node 25+) fails the install instead of silently running unsupported - npm >= 11.10.0 (required so the 7-day release-age guard in .npmrc takes effect; ships with the pinned Node line)
git clone https://github.com/Xxx91n/boxing.git
cd boxing
npm install
npx playwright install firefox chromium
npm run buildnpm run build # Dev build → dist/boxing-chrome + dist/boxing-firefox
npm run dev:chrome # Build + launch Chrome with extension loaded (web-ext)
npm run dev:firefox # Build + launch Firefox with extension loaded (web-ext)
npm run dev:chrome:no-build # Fast reload without rebuilding (requires prior build)
npm run dev:firefox:no-build # Fast reload without rebuilding (requires prior build)
npm test # Playwright tests (Chrome + Firefox)See CONTRIBUTING.md for the full development guide.
See CONTRIBUTING.md for setup, workflow, and code style.
New to the repository? docs/START-HERE.md routes users, contributors, and agents to the right entry point.




