CopyQ is advanced clipboard manager with editing and scripting features.
CopyQ monitors system clipboard and saves its content in customized tabs. Saved clipboard can be later copied and pasted directly into any application.
Items can be:
- edited with internal editor or with preferred text editor,
- moved to other tabs,
- drag'n'dropped to applications,
- marked with tag or a note,
- passed to or changed by custom commands,
- or simply removed.
- Support for Linux, Windows and OS X 10.9+
- Store text, HTML, images or any other custom formats
- Quickly browse and filter items in clipboard history
- Sort, create, edit, remove, copy/paste, drag'n'drop items in tabs
- Add notes or tags to items
- System-wide shortcuts with customizable commands
- Paste items with shortcut or from tray or main window
- Fully customizable appearance
- Advanced command-line interface and scripting
- Ignore clipboard copied from some windows or containing some text
- Support for simple Vim-like editor and shortcuts
- Many more features
Install and Run
To install CopyQ, use binary package or installer provided for your system or follow instructions in INSTALL to build the application.
On Windows you can install Chocolatey package.
To start CopyQ run
copyq command without parameters. The application main
window is accessible by clicking on system tray icon or running
To exit the application select Exit from tray menu or press Ctrl-Q keys in the application window.
Developers and Translators
If you want to help with translating, fixing or writing code read HACKING file.
To build and run the application you'll need Qt library. To compile on OS X, you will need at least Qt 5.2.
Optional dependency is QtWebKit which enables the application to use advanced HTML rendering and fetching remote images and other data. This is available through ItemWeb plugin.
Additionally X11 requires XFixes extension to be installed (fixes some clipboard issues).
Optional dependency for X11 is XTest extension (Ubuntu package
libxtst-dev for compilation). This is needed for some applications like
gedit so that automatic pasting works correctly.
item list navigation
move selected items
cycle through item formats
edit selected items (in place)
edit items in external editor
open action dialog for selected items
delete selected items
put current item into clipboard
Type a regular expressions (case-insensitive) to search/filter items.
On OS X, use Command instead of Ctrl for the shortcuts above.
To start CopyQ run
copyq from command line or just launch the application from
menu or installed location.
Application can be accessed from tray or by restoring minimized window if tray is unavailable.
Copying text or image to clipboard will create new item in the list. Selected items can be:
- edited (
- removed (
- sorted (
- moved around (with mouse or
- copied back to clipboard (
All items will be restored when application is started next time.
To create custom action that can be triggered from menu or with
shortcut, go to Command dialog
F6, click Add button and select
predefined command or create new one.
One of very useful predefined commands there is "Show/hide main window".
CopyQ has powerful command line and scripting interface.
Note: The main application must be running to be able to issue commands using command line.
Print help for some useful command line arguments:
copyq --help copyq --help add copyq --help tab
Insert some texts to the history:
copyq add "first item" "second item" "third item"
Print content of the first three items:
copyq read 0 1 2 copyq separator "," read 0 1 2
Show current clipboard content:
copyq clipboard copyq clipboard text/html
Show formats available in clipboard:
copyq clipboard \?
Copy text to the clipboard:
copyq copy "Some Text"
Load file content into clipboard:
copyq copy - < file.txt copyq copy text/html < index.html copyq copy image/jpeg - < image.jpg
Create an image items:
copyq write image/gif - < image.gif copyq write image/svg - < image.svg
Create items for matching files in a directory (in this case
copyq action 'copyq: home = Dir().home(); home.cd("Documents") && home.entryList(["*.doc"])'
Show notification with clipboard content:
copyq eval 'copyq: popup("Clipboard", clipboard())' copyq clipboard | copyq popup Clipboard -