If you want to be adventurous, you can try using a vector program.
Basically Vector images are based on points, lines and formulas, so they do not depend on pixel points on a grid to display the image. This means you can re-size the vector image proportionally and have a huge version or tiny version without compromise in image quality. This also is useful when using the same image on different sized canvases or materials. For instance I made a logo for a homebrew, and I wanted to use the logo on a bottle neck band and as a transparent background layer on the larger label. I only had to make one vector drawing, copy+paste, and resize it.
A raster image (photoshop, MS Paint) creates images based on pixels in a grid. When you zoom in or scale the image up, you will see the pixels that the image was based on larger; thus the blocky or 'rasterized' image.
An awesome opensource vector program that I use is Inkscape. It takes a bit of learning, but is a nice option if looking to print nice quality images or using the same image in different sizes.