It’s not a good idea when you want your images and style information to be cached separately. Also if you encode a large image or a significant number of images in to your css file it will take the browser longer to download the file leaving your site without any of the style information until the download completes. For small images that you don’t intend on changing often if ever it is a fine solution.
as far as generating the base64 encoding:
- http://b64.io/
- http://www.motobit.com/util/base64-decoder-encoder.asp (upload)
- http://www.greywyvern.com/code/php/binary2base64 (from link with little tutorials underneath)