Because a picture is worth a thousand words.
Nice!
Or more seriously, because it takes a lot of data to make an image. A full page of text is somewhere around a kilobyte. A decent-sized image, at decent quality, even with efficient-but-lossy compression, might be a few megabytes. Even a tiny image with really low quality, like the Tick image that prompted this, is several kilobytes, which translates to several pages of text.
Thank you.
It’s also because base64 encoding is very “wide”. A URL must consist only of printable characters so the binary data in the image needs to be converted to something printable. Even normally printable data gets converted into something longer so “SDMB” becomes “U0RNQg”.
Base64 encoding uses 4 characters to encode each 3 bytes of data, so the encoded text is 133% the size of the original data.