Classic ciphers

Eight ciphers and encodings that predate computers, or nearly. None of them protects anything, and this page says so rather than burying it: every one was broken long ago, and several are broken by eye. They are here because you still meet them, in puzzle hunts, in capture-the-flag rounds, in obfuscated strings inside a suspicious file, and in the margins of old books. Pick one and it explains itself, including where you would run into it outside a game.

None of these protects anything. Every one can be broken without the key, most of them in seconds, and the ones marked as encodings do not even try to hide. To actually protect a message, use the password encryption tool instead.

Cipher
Direction

Frequently asked questions

Is my text uploaded?

No. All eight run in this tab as you type. The site’s security policy sets connect-src ‘none’, so the browser blocks network requests from these pages, meaning the text could not be sent even if the code tried.

Can I use these to protect something?

No, and it is worth being blunt about it. Every cipher on this page was broken before computers existed, and a program breaks any of them in well under a second without the key. Three of them are not even trying: Morse, binary and A1Z26 are ways of writing text down, not ways of hiding it. If you need a message that only one other person can read, use the password encryption on this site, which uses AES-256-GCM through your browser’s own cryptography.

Why does my Thai come out unchanged?

Because the alphabet ciphers move letters within A to Z and leave every other character exactly as it was. That is not a limitation of this page: it is what every implementation does, and it is the only behaviour that survives a round trip. Binary and XOR do carry Thai, because they work on the bytes rather than the letters.

Why is the XOR output hex instead of text?

Because XOR produces bytes that are not characters: control codes, a zero byte, half of a UTF-8 sequence. Writing those out as text loses them silently, and you would get back something shorter than you put in with no error to explain it. Hex is exactly reversible, which is the only thing that matters here.

Why did Morse lose my punctuation and capitals?

Morse has no notion of upper and lower case, and it has codes for only a handful of punctuation marks. Anything it has no code for is reported rather than silently dropped. A1Z26 is stricter still: it can only write letters.