Cipher — Caesar, ROT13, Atbash, Vigenère, Affine, Rail Fence & More

Encode and decode text with eight classic ciphers — Caesar, ROT13, ROT47, Atbash, Vigenère, Affine, Rail Fence, A1Z26 and Bacon. Free, 100% in your browser.

Result
Your ciphered text appears here…

🔒 Classical ciphers are teaching examples, not secure encryption — everything is processed in your browser and nothing is uploaded.

Classic ciphers in one tool

Eight ciphers share one box. The dropdown reads Caesar / ROT13 (shift the letters by any amount, or press ROT13 to set it to 13), ROT47 (shifts printable ASCII, so digits and punctuation travel too), Atbash (mirror the alphabet, A↔Z), Vigenère (a repeating keyword), Affine (multiply by a and add b, with a checked against 26 for you), Rail Fence (write the text in a zig-zag over a number of rails and read it off in rows), A1Z26 (A=1 … Z=26, letters out as numbers) and Bacon (each letter becomes a five-symbol A/B group). Pick a method, set its key if it has one, and toggle between encode and decode. A link can arrive pre-set: add ?method=vigenere to the address (or affine, railfence, a1z26, bacon, rot47, atbash, caesar) and the page opens on that cipher. These are puzzle and teaching ciphers, not secure encryption — everything runs in your browser.

None of these is encryption

Every cipher here predates computers and every one of them is broken. Caesar has 25 possible keys, so trying all of them by hand takes a minute. Affine has 311, which is still a short afternoon. Four of the eight take no key at all — ROT47, Atbash, A1Z26 and Bacon — so for those, knowing the method is knowing the message. ROT13 is a Caesar shift of 13, which is its own inverse: applying it twice gives back what you started with, which is why it was used to hide spoilers rather than secrets. Vigenère was the strongest of them for three centuries, and Kasiski published a general break in 1863 by finding the key length in the repeats it leaves behind. If you need something kept, use a tool built for that — the text encrypter on this site uses AES-GCM with a key stretched from your passphrase.

What they are good for

Puzzles, teaching, escape rooms, geocaching, and obscuring text that should not be read by accident — a spoiler, a punchline, an answer key. That is a real use and these ciphers are good at it, because a reader who wants to decode is one click away and a reader who does not is protected from a glance. They are also the clearest introduction to what a key is, why key length matters, and why a cipher that leaks the structure of the plaintext leaks the plaintext. ROT47 is the one to reach for when punctuation matters: it shifts across the printable ASCII range rather than just A–Z, so symbols and digits survive the round trip.

Frequently asked questions

Which ciphers are included?

Eight, all in one dropdown: Caesar / ROT13 (any shift), ROT47, Atbash, Vigenère (a keyword), Affine (multiply and add, with the key checked for you), Rail Fence (a zig-zag over a number of rails), A1Z26 (letters as numbers) and Bacon (five-symbol A/B groups). A link can pick one for you: ?method=vigenere in the address opens the page on that cipher, and affine, railfence, a1z26, bacon, rot47, atbash and caesar work the same way.

Is this secure encryption?

No — these are classical/educational ciphers meant for puzzles and learning, not for protecting sensitive data.

Is my text uploaded?

No. Encoding and decoding run entirely in your browser.

Can I use these to protect something?

No. Every cipher here can be broken by hand, most of them in minutes, and four of the eight have no key at all. They hide text from a casual glance and nothing more. For anything that matters, use real encryption.

Why do Encode and Decode give the same ROT13 result?

Because a shift of 13 in a 26-letter alphabet is its own inverse — applying it twice returns the original. So at a shift of 13, Encode and Decode give the same text.

What does ROT47 do differently?

It shifts across the 94 printable ASCII characters rather than the 26 letters, so digits, punctuation and symbols are transformed too instead of passing through unchanged.