Features
Clipper provides a complete clipboard management solution with powerful features designed for productivity.
Clipboard History
Automatically capture and store everything you copy, including text, images, and files.
Full-Text Search
Quickly find any clip with powerful BM25 full-text search across all your clipboard history.
Real-Time Sync
WebSocket-powered real-time synchronization keeps all your devices up to date instantly.
Tags & Organization
Organize clips with custom tags and mark favorites for easy access later.
File Attachments
Attach files to clips with drag-and-drop upload support for images and documents.
Cross-Platform
Available as a desktop app (macOS, Windows, Linux) and accessible via web browser.
Auto-Cleanup
Automatic deletion of old clips based on configurable retention policy. Keep your clipboard history tidy.
Authentication
Optional Bearer token authentication to secure your API. Protect your clipboard data when sharing across networks.
Download
Download Clipper for your platform or access it through the web interface.
System Requirements
| Platform | Minimum Version | Architecture |
|---|---|---|
| macOS | 10.15 (Catalina) or later | Universal (Intel + Apple Silicon) |
| Windows | Windows 10 (1809) or later | x64 |
| Linux | Ubuntu 20.04 or equivalent | x64 / ARM64 |
User Manual
Getting Started
- Install Clipper - Download and install the desktop app for your platform.
- Launch the app - Clipper starts in the system tray and begins monitoring your clipboard automatically.
- Copy anything - Text, images, and files you copy are automatically saved to your clipboard history.
- Access your clips - Click the tray icon or use the global hotkey to open the Clipper window.
Desktop App
The desktop application provides the full Clipper experience with automatic clipboard monitoring.
Server Mode
Clipper can run in two modes. In both modes, you fully own and control the server—no third-party services are involved:
- Bundled Server (default) - Runs a local server automatically on your machine. Works completely offline.
- External Server - Connect to your own self-hosted Clipper server on another machine for multi-device sync. Requires network connectivity.
To switch modes, open Settings and choose your preferred server configuration.
Network Access
When using the bundled server, you can enable "Listen on all interfaces" to access Clipper from other devices on your local network. The app will display your local IP addresses for easy connection.
Web Interface
The web interface provides browser-based access to your clipboard history.
- View & Search - Browse all your clips with infinite scroll and full-text search.
- Edit - Modify tags and notes on any clip.
- Upload - Drag and drop files to upload, or use the "Send Clipboard" button.
- Real-time Updates - When connected via HTTPS, receive live notifications of new clips.
Working with Clips
Creating Clips
- Automatic capture - The desktop app monitors your clipboard and saves new content automatically.
- Manual upload - Drag and drop files onto the app window or web interface.
- Send clipboard - In the web UI, click the clipboard button to manually send your current clipboard.
Searching
Use the search box to find clips by content. The search supports:
- Full-text search across clip content and notes
- Filter by date range using the date pickers
- Filter by tags - click a tag to filter clips with that tag
- Show favorites only using the toggle switch
Organizing with Tags
Tags help you organize and find clips quickly:
- Click the edit button on any clip to add or remove tags
- Type a tag name and press Enter to add it
- Click a tag to filter all clips with that tag
- ★ tag marks clips as favorites
Host Tags
When syncing across devices, clips are automatically tagged with the hostname of the device they came from. These tags have a distinct blue color and help you identify the source of each clip.
Settings
| Setting | Description |
|---|---|
| Theme | Choose Light, Dark, or Auto (follows system preference) |
| Language | English or Chinese (simplified) |
| Start on Login | Launch Clipper automatically when you log in |
| Notifications | Show toast notifications for new clips |
| Server Mode | Use bundled server or connect to your own self-hosted server |
| Network Access | Allow connections from other devices on your network |
Self-Hosting with Docker
For multi-device sync, you can run your own Clipper server on a dedicated machine using Docker. This is the same server that the desktop app bundles—just running separately.
# Pull and run the Clipper server
docker run -d \
--name clipper \
-p 3000:3000 \
-v clipper-data:/data \
windoze/clipper-server:latest
Access the web interface at http://localhost:3000.
Configuration
The server can be configured via environment variables:
| Variable | Default | Description |
|---|---|---|
PORT |
3000 | Server port |
CLIPPER_DB_PATH |
/data/db | Database storage path |
CLIPPER_STORAGE_PATH |
/data/storage | File attachment storage path |
CLIPPER_CLEANUP_ENABLED |
false | Enable automatic cleanup |
CLIPPER_CLEANUP_RETENTION_DAYS |
30 | Days to retain clips |
CLIPPER_CLEANUP_INTERVAL_HOURS |
24 | Hours between cleanups |
CLIPPER_BEARER_TOKEN |
- | Bearer token for authentication |
HTTPS Configuration
For production use, configure TLS for secure connections:
- Manual certificates - Provide your own certificate and key files
- ACME (Let's Encrypt) - Automatic certificate provisioning and renewal
Authentication
Secure your server with Bearer token authentication:
# Set a bearer token to require authentication
CLIPPER_BEARER_TOKEN=your-secret-token
# Or via command line
clipper-server --bearer-token your-secret-token
When authentication is enabled:
- All REST API requests require the
Authorization: Bearer <token>header - WebSocket connections authenticate via message after connecting
- File downloads support
?token=xxxquery parameter - Web UI shows a login screen when authentication is required
FAQ
Yes. Clipper never sends your data to any third-party service. In both bundled and external server modes, you fully own and control the server. The bundled server stores data locally on your machine, while an external server runs on your own infrastructure. For network access, we recommend using HTTPS to encrypt data in transit.
Connect multiple Clipper clients to the same server. When you copy something on one device, it's saved to the server and all connected devices receive a real-time notification via WebSocket. Each clip is tagged with the source device's hostname for easy identification.
Clipper accepts any file type. Images (PNG, JPG, GIF, etc.) are displayed with preview thumbnails. Other files are stored as attachments that can be downloaded at any time.
Text clips use minimal storage (a few KB each). Images and file attachments use more space depending on their size. You can delete old clips at any time to free up storage. The server also supports automatic cleanup of old clips based on a configurable retention policy.
Yes! You can run the Clipper server (via Docker or the standalone binary) and access it through the web interface. However, the web UI cannot automatically monitor your clipboard - you'll need to manually send content using the "Send Clipboard" button or drag-and-drop files.
When using the bundled server mode, Clipper works entirely offline. Your clips are stored locally and the app doesn't require an internet connection. If you're using a self-hosted external server for sync, you'll need network connectivity to that server.
Troubleshooting
Desktop App Issues
App doesn't start / crashes on launch
- Check that your system meets the minimum requirements
- On macOS, you may need to allow the app in System Preferences > Security & Privacy
- Try deleting the settings file and
restarting:
- macOS:
~/Library/Application Support/com.0d0a.clipper/settings.json - Linux:
~/.config/com.0d0a.clipper/settings.json - Windows:
%APPDATA%\com.0d0a.clipper\settings.json
- macOS:
Clipboard monitoring not working
- Ensure the app has accessibility permissions (required on macOS)
- Check that you're using the desktop app, not just the web interface
- Restart the app if clipboard monitoring stops working
Can't connect to bundled server
- Check if another application is using port 3000
- Look for error messages in the app's log files
- Try using "Clear All Data" in Settings to reset the database
Connection Issues
WebSocket shows "Disconnected"
- Verify the server URL is correct in Settings
- Check if the server is running and accessible
- For HTTPS connections, ensure the certificate is valid
- Firewalls may block WebSocket connections - check your network settings
Can't access from other devices
- Enable "Listen on all interfaces" in Settings
- Use the displayed local IP address (not localhost) to connect
- Ensure devices are on the same network
- Check firewall rules on both the server and client machines
Data Issues
Clips not syncing between devices
- Verify all devices are connected to the same server
- Check the WebSocket connection status (green dot = connected)
- Ensure the server is accessible from all devices
Search not finding expected results
- Search is case-insensitive but matches whole words
- Clear any active filters (tags, date range, favorites)
- The search covers content and notes, but not tags - use tag filters for that
Images not displaying
- Check if the file attachment exists on the server
- Large images may take time to load on slow connections
- Unsupported image formats may not display previews
Getting Help
If you're still experiencing issues:
- Check the GitHub Issues for known problems and solutions
- Search existing issues before creating a new one
- When reporting a bug, include:
- Your operating system and version
- Clipper version
- Steps to reproduce the issue
- Any error messages or logs