Roll20 creates several scaled versions of an image when you upload it, so that it can display them zoomed in quickly, for example. However, the type of scaling it performs is probably optimized for more organic shapes (things with curves) than to the pixel art you've got, on top of the fact that you're starting with a very small image that it has to scale up by a lot, which will introduce even more errors. You've got an 18x18px image, but a 1-square token at 100% zoom is a 70x70px image. Try using your image editor to scale it up to 140x140px and re-upload it, and see if that looks better.