Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Python script that saves an image from clipboard to a file.


Saves an image from clipboard to a file.


  • python2
  • PyGTK


Download and run it with python

Note: Some distributions such as Arch Linux renamed Python 2 to python2 instead of python.

Arch Linux users can install the image-clipboard-to-file package from the AUR.


Thanks to Paweł Pałucha who posted this script on this stackoverflow discussion. I share it here to allow package maintainers to easily package it for their distribution.

Save image from clipboard to file
import sys
import glob
from optparse import OptionParser
def def_file():
Return default file name
files = glob.glob("img???.png")
if len(files) < 1:
return 'img001.png'
maxf = 0
for f in files:
n = int(f[3:6])
maxf = max(n, maxf)
except ValueError:
return 'img{:03d}.png'.format(maxf+1)
usage = """%prog [option] [filename]
Save image from clipboard to file in PNG format."""
op = OptionParser(usage=usage)
op.add_option("-o", "--open", action="store_true", dest="open", default=False,
help="Open saved file with default program (using xdg-open)")
(options, args) = op.parse_args()
if len(args) > 1:
parser.error("Only one argument expected")
elif len(args) == 1:
fname = args[0]
fname = def_file()
import gtk
clipboard = gtk.clipboard_get()
image = clipboard.wait_for_image()
if image is not None:, "png")
print "PNG image saved to file", fname
import subprocess["xdg-open", fname])
print "No image in clipboard found"
sys.exit( 1 )

This comment has been minimized.

Copy link

@jippiegithub jippiegithub commented Nov 23, 2014

I added a single line to the end of the script to make it even more useful:

    print "No image in clipboard found"
    sys.exit( 1 )

By adding the sys.exit it is now possible to issue an alternative command when there is no image in the clipboard buffer. I used this to create a "Launcher" button on my desktop:

~/bin/ -o || gimp

When an image is in the clipboard buffer and I click the button, gimp will open with the image. Otherwise gimp will open as normal with an empty document.


This comment has been minimized.

Copy link
Owner Author

@orschiro orschiro commented Jan 25, 2015


Thanks for your contribution! I just saw your comment and added your line to the script above.



Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.