Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Pythonista image2base64
#covert an image in the clipboard to a 57x57 rgb icon and store base64 version of it into the clipboard.
#if an image is not in the clipboard the base64 string 'b64str' will be loaded and displayed.
#after running the 1st time replace the contents of b64str with the clipboard.
from PIL import Image
import clipboard
from StringIO import *
import base64
replace this with contents of clipboard after 1st run.
def main():
global b64str
cpimage = clipboard.get_image()
#if image was in clipboard.
if cpimage:
#resize to icon size.
icon = cpimage.resize((57, 57), Image.BILINEAR)
#convert to rgb format.
icon = icon.convert('RGB')
# #show resized image.
#create string buffer to write png file to.
iconstr = StringIO()
#write image to string buffer in png format., 'png')
#convert save buffer to base64.
b64str = base64.standard_b64encode(iconstr.getvalue())
#put base64 string in clipboard.
#now decode to test.
mystr = base64.standard_b64decode(b64str)
#read file from string buffer.
stb = StringIO(mystr)
img =
#show the image.
#print some info.
print str(img.format)
print str(img.mode)
print str(img.size)
print str(
if __name__ == '__main__':
Copy link

ingoradatz commented Feb 15, 2015


Copy link

allenhwkim commented Jul 27, 2015

It did not work for Mac though

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment