I wrote a script a while ago for when I want to post png images to Twitter. It uses ImageMagick. I'm going to put code tags around it in the hope that your blog will use those for formatting. 😀 #!/bin/bash adds a strip of transparency to png images so twitter won't convert them to jpg and make them look like crap ./png2twitter something.png img="${1}"; outFile="$(mktemp)"; IFS=' ' read imgWidth imgHeight <<<$(identify -format "%w %h" "${img}"); ((imgHeight++)); convert -size ${imgWidth}x${imgHeight} xc:transparent MIFF:- | composite "${img}" - "PNG:${outFile}"; mv "${outFile}" "${outFile}.png"; echo "new image is ${outFile}.png"; It's never mattered to me that the height of the image changes. Now I'm wondering if there's a simple way to make ImageMagick change opacity of a single pixel. So far I can only think of a rather convoluted method and a few minutes on Google found nothing useful. I'm also now wondering why I've not made composite output to "PNG:${outFile}.png" instead of having that mv command.