Файл в картинку

Любой файл превращается в PNG: каждые три байта — один цветной пиксель. Всё считается в браузере, файл никуда не отправляется.

Как это устроено

Первые 4 байта картинки — длина файла (big-endian), дальше идут байты файла по порядку в каналах R, G, B. Прозрачность не используется. Остаток последней строки заполняется нулями.

PNG сжимает без потерь, поэтому из картинки можно точно восстановить исходный файл. Если её пережать в JPEG или отправить в мессенджер со сжатием, данные испортятся.