> [ NOTES.txt ]

Palimpsest hides secret messages into normal looking text using a set of zero-width unicode characters (rendered invisibly but remains part of the string). The hidden input is first encoded into bytes using UTF-8, then each byte is split into three 3-bit chunks (base8). Each chunk is mapped to a specific zero-width character, resulting in a compact, invisible sequence. This sequence is then appended to the visible input, forming the final output.

When decoding, the input is scanned for any zero-width characters then reconstructs the original byte stream from their base-8 values and decodes it back into text.


NOTE: zero-width characters might/can/probably will be removed/changed by some text editors or messaging platforms, which can break decoding (discord is safe though :3).


> [ INPUT.txt ]


encode!
decode!

> [ OUTPUT.txt ]