Encode and decode text with a Caesar shift, with a brute-force view of all 25 shifts as a helper.
Only A–Z letters shift; case is preserved and numbers, spaces and punctuation pass through unchanged. A shift of 0 leaves the text unchanged, and a shift of 26 is the same as 0. This is a classical toy cipher, not modern encryption — never use it for anything secret.
Output length (characters)
How to use this tool
Any text works; only A–Z letters shift, and everything else passes through unchanged.
Encode shifts letters forward by the shift; decode shifts them back. Decoding with the same shift undoes encoding exactly.
Choose a whole number from 0 to 25. Shift 3 is the classic example; shift 13 is the familiar ROT13.
The helper lists decode attempts for all 25 shifts, so you can spot the readable one when the shift is unknown — it is a helper, not a guarantee, since short texts can read plausibly under several shifts.
Formula & worked example
HELLO with shift 3 encodes to KHOOR: H→K, E→H, L→O, L→O, O→R. Decoding KHOOR with shift 3 returns HELLO, and the brute-force view shows HELLO at shift 3.
Limitations — read this before you rely on it
The Caesar cipher has only 26 possible shifts, so anyone can brute-force it in seconds — it provides no real secrecy and must never protect sensitive information. The brute-force view cannot guarantee a unique answer for very short or ambiguous texts.
Frequently asked questions
A substitution cipher named after Julius Caesar that shifts each letter by a fixed number of places in the alphabet. It is one of the oldest known ciphers.
A Caesar shift of 13. Since 13 is half the alphabet, encoding and decoding are the same operation — applying ROT13 twice returns the original text.
The classical cipher only defines shifts for letters. This tool preserves everything else so the shape of the message survives.
No. With only 26 shifts, an attacker can try them all instantly, and letter-frequency analysis breaks it even faster. Use it for puzzles and learning only.
Shifting by 0 (or by 26, the full alphabet) maps every letter to itself, so the output equals the input.
