Access the clipboard and do not care if the OS is Linux, MacOS or Windows.


  • Clipboard.copy

  • Clipboard.paste

  • Clipboard.clear


Multiple Clipboards

On Linux, you can choose from which clipboard you want to paste by supplying an argumument, the default is CLIPBOARD.

copy copies to all clipboards in Clipboard::CLIPBOARDS.

ffi Dependency

This gem depends on the ffi gem to support the Windows clipboard. However, since ffi is not plain Ruby, it cannot be installed in every Ruby environment and therefore, ffi is not a hard dependency of this gem. To ensure Windows compatibility, you can put the ffi gem in your Gemfile.

Windows Encoding

If you paste with 1.9, the clipboard encoding will be translated to your Encoding.default_external.

If you paste with 1.8, it will fallback to CP850 encoding. Copying with 1.8 will fallback to the clip utility, which is installed by default since Vista


To use the clipboard through ssh, you need to install xauth on your server and connect via ssh -X or ssh -Y. However, some server settings restrict that feature, so don't rely on it, untested.


There is a java implementation included (Clipboard::Java) as an option for JRuby. However, on Linux, it always operates (only) on the CLIPBOARD clipboard.

Non-gem Requirements

  • Linux: xclip or xsel, you can install it on debian/ubuntu with sudo apt-get install xclip


  • Don't depend on xclip/xsel (no plans to implement it, though)


Want to access the clipboard form the command line? Try blip!


Copyright © 2010-2013 Jan Lelis <> released under the MIT license

Contributions by and thanks to

  • Michael Grosser

See for full list!