Atbash replaces A with Z, B with Y, and so on across the 26 ASCII letters. Caesar adds one selected shift from 1 to 25, while ROT13 is the fixed shift of 13. Atbash and ROT13 are self-inverse; Caesar decode subtracts the chosen shift. Case is preserved and characters outside ASCII A-Z are copied unchanged.
ROT47 operates on printable ASCII code points 33 through 126, so it changes digits and punctuation as well as letters while preserving spaces, line breaks, and non-ASCII text. The 94-character range is rotated by half its length, making ROT47 self-inverse. It is an obfuscation exercise, not a character-encoding standard or security primitive.
Vigenere derives one shift per ASCII letter of the key and repeats those shifts over the input. This implementation accepts A-Z or a-z only, preserves source case, and advances the key only when an ASCII letter is transformed. It rejects spaces, digits, punctuation, and non-ASCII key characters rather than silently changing the key.
Repeating-key XOR converts plaintext and the key to UTF-8 bytes, XORs every input byte with the corresponding repeating key byte, and represents the result as exact Hex or canonical padded standard Base64. Decode parses that representation strictly, applies the same XOR operation, and requires the result to be valid visible UTF-8. Reusing a short repeating key exposes patterns and offers no authentication.
Readable text is capped at 1,000,000 Unicode code points and 1 MiB of UTF-8, encoded XOR input at 2,097,152 characters, keys at 128 code points and 256 bytes, and output at 2 MiB. Unsupported controls and unmatched UTF-16 surrogates are rejected. Processing stays in the browser; aggregate analytics omits input, key, and output values.