Your company here — click to reach over 10,000 unique daily visitors

xclip - Man Page

command line interface to X selections (clipboard)

Examples (TL;DR)


xclip [OPTION] [FILE]...


Reads from standard in, or from one or more files, and makes the data available as an X selection for pasting into X applications. Prints current X selection to standard out.

-i,  -in

read text into X selection from standard input or files (default)

-o,  -out

print the selection to standard out (generally for piping to a file or program)

-f,  -filter

when xclip is invoked in the in mode with output level set to silent (the defaults), the filter option will cause xclip to print the text piped to standard in back to standard out unmodified

-r,  -rmlastnl

when the last character of the selection is a newline character, remove it. Newline characters that are not the last character in the selection are not affected. If the selection does not end with a newline character, this option has no effect. This option is useful for copying one-line output of programs like pwd to the clipboard to paste it again into the command prompt without executing the line immediately due to the newline character pwd appends.

-l n, -loops n

number of X selection requests (pastes into X applications) to wait for before exiting, with a value of 0 (default) causing xclip to wait for an unlimited number of requests until another application (possibly another invocation of xclip) takes ownership of the selection.

-t t, -target t

specify a particular data format using the given target atom. With -o the special target atom name "TARGETS" can be used to get a list of valid target atoms for this selection. The default target is "STRING". For more information about target atoms refer to ICCCM section 2.6.2

-d,  -display

X display to use (e.g. "localhost:0"), xclip defaults to the value in $DISPLAY if this option is omitted

-h,  -help

show quick summary of options


specify which X selection to use, options are "primary" to use XA_PRIMARY (default), "secondary" for XA_SECONDARY or "clipboard" for XA_CLIPBOARD


show version information


fork into the background to wait for requests, no informational output, errors only (default)


show informational messages on the terminal and run in the foreground


provide a running commentary of what xclip is doing


operate in legacy (i.e. non UTF-8) mode for backwards compatibility (Use this option only when really necessary, as the old behavior was broken)


clear sensitive data from seleciton buffer after being pasted once. This is currently implemented as -wait 50. See Notes

-wait n

after the first paste, wait for n milliseconds. If a subsequent paste request arrives before the timer expires, reset the timer. Once the timer expires, the selection buffer is cleared so the data cannot be pasted again.

xclip reads text from standard in or files and makes it available to other X applications for pasting as an X selection (traditionally with the middle mouse button). It reads from all files specified, or from standard in if no files are specified. xclip can also print the contents of a selection to standard out with the -o option.

xclip was designed to allow tighter integration of X applications and command line programs. The default action is to silently wait in the background for X selection requests (pastes) until another X application places data in the clipboard, at which point xclip exits silently. You can use the -verbose option to see if and when xclip actually receives selection requests from other X applications.

Options can be abbreviated as long as they remain unambiguous. For example, it is possible to use -d or -disp instead of -display. However, -v couldn't be used because it is ambiguous (it could be short for -verbose or -version), so it would be interpreted as a filename.

Note that only the first character of the selection specified with the -selection option is important. This means that "p", "sec" and "clip" would have the same effect as using "primary", "secondary" or "clipboard" respectively.


I hate man pages without examples!

uptime | xclip

Put your uptime in the X selection. Then middle click in an X application to paste.

xclip -o > helloworld.c

Put the contents of the selection into a file.

xclip -t text/html index.html

Middle click in an X application supporting HTML to paste the contents of the given file as HTML.

xclip -loops 10 -verbose /etc/motd

Exit after /etc/motd (message of the day) has been pasted 10 times. Show how many selection requests (pastes) have been processed.


Using the -sensitive option will clear the selection buffer of the sensitive information 50 milliseconds after it has been pasted, effectively only allowing the selection to be pasted once. In some instances this may be too low and will prevent pasting. If this is the case, or if the user needs to be able to paste more than once for some other reason, they may use -wait n instead. -wait is the same as -sensitive, except it allows one to adjust the time to wait before clearing the selection to be n milliseconds.

Ideally, -sensitive would allow exactly one paste and not need a timeout, but due to subtleties in the way the X clipboard protocol works, doing so is not as simple as it may seem.



X display to use if none is specified with the -display option.

Reporting Bugs

Please report any bugs, problems, queries, experiences, etc. directly to the author.


Kim Saunders <kims@debian.org> Peter Åstrand <astrand@lysator.liu.se>

Referenced By

lpass(1), nitrocli(1), pass(1), pass-otp(1), vis-clipboard(1), wl-clipboard(1).