Why not use the pixel values themselves to encode the data? Each pixel's RGB can encode three characters (one for each byte value). The resulting image would be much smaller.
(Not sure how twitter might alter the image though, which would corrupt the data).