depending on what site you would like to upload it to. Each site has their own specifications... I would go by those.
Generally, avatars are JPG or PNG. Any program that lets you create pictures (MS Paint, GIMP, etc) will allow you to create avatars - of course some better than others.
If you are not doing any "designing" on the avatar, but are just using a picture and cropping out a section, Paint will be just fine.
I like to create my own avatar. Is it just a jpg (or bmp...) file?
Can I just use something like MS paint and crop what I need?
How do I make it so small? and so square? What's a good size?