Simple, porque la firma de un GIF siempre posee 3 bytes y es hexadecimalmente: 47 49 46 / GIF. Caso contrario a la firma de un JPG, que comienza con: FF D8 FF E1 xx xx 45 78 69 66 00 / ÿØÿá..Exif.
Aunque cambies la extensión, seguirá viéndose. De igual forma TinyPic lo único que hace es...