Open-source clipboard manager for macOS & Windows — with encrypted cross-device sync, full-text search, and zero cloud accounts required.
Built with Tauri v2 (Rust) + React 19 (TypeScript)
Most clipboard managers either lack sync, charge a subscription for it, or route your data through someone else's cloud. PowerPaste takes a different approach: encrypted folder-based sync that works with any provider you already use (iCloud Drive, OneDrive, Google Drive, or a plain folder). Your data never leaves your machines unencrypted.
| Feature | PowerPaste | Maccy | Paste | CopyClip | Flycut |
|---|---|---|---|---|---|
| Price | Free | Free / $10 | $3.99/mo | Free / $10 | Free |
| Open source | ✅ Yes | ✅ Yes | ❌ | ❌ | ✅ Yes |
| Text | ✅ | ✅ | ✅ | ✅ | ✅ |
| Images & files | ✅ | ❌ | ✅ | ❌ | ❌ |
| Full-text search | ✅ FTS5 | ✅ | ✅ | ❌ | ❌ |
| Cross-device sync | ✅ Encrypted folder | ❌ | ✅ iCloud only | ❌ | ❌ |
| No cloud account | ✅ | ✅ | ❌ | ✅ | ✅ |
| Pinboards | ✅ Custom w/ icons | ❌ | ✅ | ❌ | ❌ |
| Source app tracking | ✅ | ❌ | ✅ | ❌ | ❌ |
| Windows support | ✅ | ❌ | ❌ | ❌ | ❌ |
| Themes | Light / Dark / System | System | Dark | System | System |
- Clipboard history — text, images, and files with automatic content-type detection
- Full-text search — SQLite FTS5 with query caching
- Encrypted sync — ChaCha20-Poly1305 + Argon2 key derivation; passphrase stored in OS keychain
- Folder-based sync — works with iCloud Drive, OneDrive, Google Drive, or any synced folder
- Pinboards — organize clips into custom boards with 16 built-in icons
- Global hotkey — configurable shortcut (
⌘⇧Von macOS,Ctrl+Shift+Von Windows) with conflict detection - Source app tracking — see which app copied each item
- Pinned items & trash — pin important clips; soft-delete with configurable retention
- Two UI modes — floating overlay near cursor or fixed bottom strip
- Native macOS integration — menu bar app, NSPanel overlay, Touch Bar support
- Native Windows integration — frameless floating window, DWM rounded corners, taskbar-hidden popup
- Light / Dark / System themes — respects system accent color
- Launch at startup — via
tauri-plugin-autostart
| Platform | Status |
|---|---|
| macOS (Apple Silicon & Intel) | ✅ Fully supported |
| Windows (x64 & ARM64) | ✅ Fully supported |
| Linux | ❌ Not supported |
Download the latest release from the Releases page.
| Platform | Format |
|---|---|
| macOS | .dmg |
| Windows | .msi or .exe |
The DMG is not notarized by Apple. macOS will block it by default. To open:
- Right-click the app → Open → click Open in the dialog
- Or run:
xattr -cr /Applications/PowerPaste.app
- Node.js 18+
- Rust toolchain (stable)
- Tauri prerequisites
npm install
npm run tauri devnpm run tauri buildVS Code with Tauri + rust-analyzer
All OS-specific code lives in src-tauri/src/platform/:
platform/
mod.rs # Re-exports from the active platform via #[cfg]
macos.rs # macOS: NSPanel, osascript, NSPasteboard
windows.rs # Windows: Win32 SendInput, CF_HDROP, DWM, GetForegroundWindow
Each file exports the same function signatures (e.g. perform_paste, query_frontmost_app_info, check_permissions). The rest of the codebase calls platform::* without any #[cfg] blocks.
npm test # run once
npm run test:watch # watch modeRuns UI unit tests (Vitest + JSDOM). These do not execute the native Tauri runtime.
PowerPaste uses a dual-layer E2E strategy:
- Appium + WebdriverIO — native UI testing (window behavior, hotkeys, permissions)
- Playwright — WebView content testing (React components, interactions)
# Build the app
npm run tauri build -- --debug
# macOS Appium driver
npm install -g appium && appium driver install mac2
# Windows Appium driver
npm install -g appium && appium driver install windows && appium driver run windows install-wad
# Playwright
npx playwright install chromiumnpm run test:e2e # all E2E tests
npm run test:e2e:mac # macOS native
npm run test:e2e:windows # Windows native
npm run test:playwright # WebView tests
npm run test:e2e:mac:permissions # macOS permission dialog flow| Variable | Description | Default |
|---|---|---|
POWERPASTE_TEST_WORKERS |
Parallel worker count | 2 in CI, CPU−1 locally |
POWERPASTE_TEST_TIMEOUT |
Test timeout (ms) | 90 s in CI, 60 s locally |
POWERPASTE_TEST_RETRIES |
Retry count | 3 in CI, 1 locally |
POWERPASTE_TEST_DB_PATH |
Isolated test DB path | Auto per worker |
POWERPASTE_DEVTOOLS_PORT |
Playwright WebView port | Disabled |
- Local clipboard history is stored in SQLite (WAL mode) under the app data directory.
- When folder sync is enabled, PowerPaste periodically exports an encrypted
powerpaste.sync.jsoninto the chosen folder. - On other devices the file is imported and merged.
- Encryption uses ChaCha20-Poly1305 with an Argon2-derived key; the passphrase lives in the OS keychain (macOS Keychain / Windows Credential Manager).
See docs/LOGO.md for logo usage and icon regeneration.
MIT