Lightweight, intelligent clipboard manager for power users
Most clipboard managers are either too simple or bloated with unnecessary features. ClipMaster sits in the sweet spot: lightweight + intelligent.
| Feature | ClipMaster | CopyQ | Ditto | ClipChronicle |
|---|---|---|---|---|
| Smart content classification | Yes | No | No | No |
| Code syntax highlighting | Yes | No | No | No |
| Color value preview | Yes | No | No | No |
| Link rich preview (favicon) | Yes | No | No | No |
| Memory footprint | ~80 MB | ~120 MB | ~50 MB | ~200 MB |
| Cross-platform | Win/Mac/Linux | Win/Mac/Linux | Windows | Win/Mac/Linux |
| Open source | MIT | GPL | GPL | MIT |
- Intelligent Content Classification — Automatically detects and tags clipboard content as code, link, color, email, or plain text using zero-dependency regex analysis
- Code Syntax Highlighting — Copied code snippets are displayed with language-aware syntax highlighting (12+ languages)
- Color Value Preview — Hex, RGB, and HSL color values show a live color swatch
- Link Rich Preview — URLs display the domain name with a favicon
- Category Filtering — Quickly filter your clipboard history by content type
- Virtual Scrolling — Handles thousands of entries without UI lag
- Keyboard Navigation — Arrow keys + Enter for mouse-free workflow
- Global Hotkey — Configurable shortcut to summon ClipMaster from anywhere (default:
Alt+Shift+V) - Pin Important Items — Pin frequently used snippets to the top
- Image Support — Copies and previews images with automatic thumbnail generation
- Adaptive Polling — Reduces CPU usage when idle
- SQLite Storage — Fast, reliable, WAL-mode database with prepared statements
- Memory Optimized — Constrained V8 heap, thumbnail-based deduplication, chunked history cleanup
- Privacy First — All data stays local, no network requests (except optional favicon fetch)
Releases coming soon. For now, build from source.
# Clone
git clone https://github.com/clipmaster/clipmaster.git
cd clipmaster
# Install dependencies
npm install
# Development
npm run dev
# Build for your platform
npm run build:win # Windows
npm run build:mac # macOS
npm run build:linux # Linux- Launch ClipMaster — it lives in your system tray
- Copy anything — text, code, links, colors, images
- Press
Alt+Shift+V(configurable) to open the clipboard panel - Click any item to copy it back to clipboard
- Use the filter bar to narrow by content type
- Right-click for settings and history management
| Layer | Technology |
|---|---|
| Framework | Electron 39 + electron-vite |
| Renderer | React 19 + TypeScript |
| Database | better-sqlite3 (WAL mode) |
| Highlighting | highlight.js (tree-shaken) |
| Build | electron-builder |
src/
├── main/ # Electron main process
│ ├── index.ts # App entry, window management
│ ├── database.ts # SQLite operations
│ ├── clipboardWatcher.ts# Clipboard polling with adaptive interval
│ ├── imageStore.ts # Image save/read/thumbnail
│ ├── ipc.ts # IPC handler registration
│ ├── shortcut.ts # Global hotkey management
│ └── tray.ts # System tray
├── preload/ # Context bridge
├── renderer/ # React UI
│ └── src/
│ ├── App.tsx
│ ├── components/
│ │ ├── ClipboardList.tsx # Virtual list + card rendering
│ │ ├── FilterBar.tsx # Category filter buttons
│ │ ├── SearchBar.tsx
│ │ └── Settings.tsx
│ └── hooks/
│ └── useClipboard.ts
└── shared/ # Shared between main & renderer
├── types.ts # ClipboardItem, ClipboardAPI, ContentCategory
└── classifier.ts # Content classification engine
See CONTRIBUTING.md for development setup, coding conventions, and pull request guidelines.
MIT — feel free to use, modify, and distribute.