Header Photo (1500 pixels wide x 500 pixels high, 5MB maximum)
This is the main image across the top of the screen. Twitter recommends 1500×500 pixels but the header photo will always blow-up to be screen-wide, which means a 1500×500 image can look pretty lousy on a 27-inch monitor unless it’s saved at a very high resolution. Otherwise, it pixelates.
So, either upload a 3000×1000 photo or save your 1500×500 image at the highest possible dots per inch (DPI) you can you manage to squeeze it under the 5 megapixel limit.
(And if you’re looking for ideas, Twitter has a nice gallery of the new-size header photos here.)
Profile Photo/Avatar (400×400 minimum, 2MB maximum)
Twitter recommends a 400×400 minimum here, and the image should be a square (although you can crop during the upload). Again, I recommend saving to as high a DPI as you can – I believe the maximum file size is 2MB although this is no longer specified by Twitter.
The profile photo scales down to 200×200 on your profile page, gets even smaller in timelines, and blows up to full size when somebody clicks on it, so make sure your image looks clear at all scales.