there is also a binding for libGD on hackage : http://hackage.haskell.org/package/gd And, of course, you can improve it, or write a binding to a more complete library. Or, even better, write a mix between http://www.libpng.org/pub/png/pngdocs.html and http://hackage.haskell.org/package/binary