ROT13 / Caesar Cipher
Rotate text through ROT13, any Caesar shift, ROT5, ROT18 or ROT47 — with an all-25-shifts panel for unknown puzzles, entirely on this device.
Press ? for shortcuts
Do it offline:$ tr 'A-Za-z' 'N-ZA-Mn-za-m' < file.txt
How to use it
- Pick a variant tab — ROT13, Caesar, ROT5, ROT18 or ROT47. ROT13 is the default and needs no further settings.
- On the Caesar tab, set a shift from 1 to 25 and choose Encode or Decode — or flip the view to All 25 shifts when the shift is unknown and pin the row that reads as language.
- Paste or type the rotated text. The result updates as you go, and characters outside the active alphabet pass through untouched.
- Copy the result, download it as a .txt file, or share the current state as a permalink.
Paste a rotated puzzle and read it: ROT13 applied twice lands exactly where it started, so one operation both hides and reveals. Usenet threads relied on that symmetry for decades to keep spoilers and punchlines out of accidental view. Pick any Caesar shift from 1 to 25 when you know it, or open the all-25-shifts panel when you do not; ROT5 rotates digits, ROT18 rotates both, and ROT47 sweeps the whole printable ASCII range.
Examples
Why did the chicken cross the road?Jul qvq gur puvpxra pebff gur ebnq?Feed the output back through and the question returns: 13 + 13 is a full lap of the 26-letter alphabet, which is why one setting covers both directions.
Fdhvdu vkliwCaesar shiftDecode walks every letter three places left. Encode at the same shift walks them back — and a decode at 3 always matches an encode at 23.
Hello, World!w6==@[ (@C=5PDigits, commas and punctuation rotate along with letters — ROT47 moves every printable ASCII character from ! to ~ — yet each space stays put.
Agent 007Ntrag 552Plain ROT13 would print Ntrag 007 — digits sit outside its alphabet, and a digits-only paste earns a nothing-to-rotate chip. ROT18 adds the ROT5 digit wheel on top.
Every example on this page is executed against the same engine that powers the tool, on every build.
Gotchas worth knowing
Non-letters ride through ROT13 untouched
Only A–Z and a–z rotate; digits, punctuation, emoji and both line-ending styles come out byte-identical. An input with no letters at all returns unchanged, and a chip explains why instead of leaving you guessing.
Accented and non-Latin letters never rotate
é, ß, Ω, с and ٣ pass straight through, counted by a chip — the rotations cover plain ASCII, and guessing lookalike mappings would corrupt the text.
ROT47 spans ! through ~, but not the space
Its window is the 94 printable ASCII codes 33–126. The space sits at 32, just below, so rotated text keeps its word shape — a quick way to recognize ROT47 by eye.
ROT18 follows the dencode convention
Elsewhere the letters-plus-digits combination is sometimes labelled ROT13.5; here it is exactly ROT13 on letters and ROT5 on digits in a single pass.
Decoding at k is encoding at 26 − k
Three steps left equals twenty-three steps right, so every decode has an encode twin — and shift 13 is its own twin, the arithmetic that makes ROT13 self-inverse.
Oversized input is refused whole, never trimmed
Past the 1 MB cap the tool declines the entire paste — a partial rotation would read as a wrong answer. The banner names a tr one-liner that handles ROT13, and only ROT13, at any size.
Common errors
Nothing to rotate — ROT13 moves only the letters A–Z and a–z; every other character passes through unchanged.- An answer, not a fault: the input held no ASCII letters, so ROT13 had nothing to move. Switch to ROT5 for digits, ROT18 for letters and digits together, or ROT47 for the full printable range.
Shift must be a whole number from 1 to 25 — got 0.- The on-page controls cannot produce this — it surfaces when a hand-edited permalink or restored session carries a shift outside the range. The page falls back to its defaults; re-pick the shift to mint a clean link.
Input is larger than the 1 MB limit for this tool. For bigger payloads use the CLI: tr 'A-Za-z' 'N-ZA-Mn-za-m' < file.txt- The whole input is declined rather than partially rotated. The tr command in the banner is the traditional ROT13 filter and streams any file size — for other variants and shifts, split the text instead.
FAQ
Is ROT13 encryption?
No. It is a fixed substitution with no key: anyone who suspects ROT13 reverses it instantly, and that is the point. Treat it as a reading convention for spoilers, puzzle answers and punchlines — a curtain, not a lock.
What is the difference between ROT13 and a Caesar cipher?
ROT13 is a Caesar cipher with the shift pinned at 13 — the one value in a 26-letter alphabet where applying the same shift twice completes the circle, so a single control encodes and decodes. Every other shift needs its direction stated.
How do I decode a Caesar cipher without knowing the shift?
Flip the view to All 25 shifts. A 26-letter wheel has only 25 possible rotations, so the panel prints every candidate in shift order and lets you pin the one that reads as language — no frequency analysis, just a short list.
Why did my text come back unchanged?
Each variant moves exactly one character class: digits sit still under ROT13, and letters sit still under ROT5. When nothing at all rotated, a chip under the output names the mismatch — switch tabs and run it again.
Keyboard shortcuts
- ⌘/Ctrl + Enter
- Run the rotation again right now, whatever the input size.
- ⌘/Ctrl + S
- Save the output to a .txt file — this page claims the shortcut from the browser's save dialog.
- ⌘/Ctrl + C
- Copy the whole result while nothing is selected; selections still copy themselves.
- ⌘/Ctrl + Shift + C
- Force-copy the whole result even while a selection is live.
- t
- Step to the next color theme (idle in text fields and during IME composition).
- ? or ⌘/Ctrl + /
- Open the shortcut overlay with the browser-conflict notes.
- Esc
- Dismiss the topmost dialog — the input stays exactly as typed.