Encode and decode text with the ROT13 and ROT47 ciphers, live in your browser. Each is its own inverse, so one click scrambles and unscrambles. Fully private.
Runs entirely in your browser — your data never leaves your device.
How to use ROT13 & ROT47 Encoder / Decoder
What it does & when you need it
You have a line of text you want to hide from casual view — a spoiler in a forum
post, a puzzle answer, a mildly offensive word — but you do not need real secrecy.
ROT13 is the classic answer: a letter-substitution cipher that shifts each letter
halfway around the alphabet. ROT47 is its bigger sibling, scrambling digits and
punctuation as well. This tool applies either one as you type and, because both
ciphers are their own inverse, the very same action decodes text that was already
encoded. Everything runs in your browser, so nothing you paste is transmitted.
How to use
Pick a cipher with the toggle: ROT13 · letters rotates only A–Z and a–z,
while ROT47 · ASCII also rotates digits and symbols.
Type or paste into the input buffer. The output updates live. To decode, paste
the scrambled text and read the result — no separate "decode" mode is needed.
Press Copy result (or Ctrl/Cmd + Enter) to grab the output.
Things worth knowing
It is obfuscation, not encryption. There is no key and the transform is
public, so ROT13 protects nothing that truly needs protecting. When you need a
keyed, verifiable tag, reach for an HMAC generator; for
one-way fingerprints use a hash generator.
Why two passes cancel out. The alphabet is 26 letters and 13 is exactly half,
so shifting twice returns the original — that is the whole trick behind a single
encode/decode button. ROT47 spans 94 printable ASCII characters and rotates by 47,
again precisely half.
What each leaves alone. ROT13 ignores numbers, punctuation, whitespace, and
any accented or non-Latin character. ROT47 additionally rotates digits and
symbols but still passes spaces and non-ASCII Unicode through untouched, which is
handy when you want an email address or URL fully scrambled.
Examples
Classic spoiler text
The butler did it.
ROT13 turns it into Gur ohgyre qvq vg. Post the scrambled line and readers run ROT13 again to reveal it.
Decode by encoding again
Uryyb, Jbeyq!
This is already ROT13 of "Hello, World!" — because the cipher is self-inverse, encoding it decodes it.
ROT47 hides punctuation too
user@example.com:8080
Switch to ROT47 to scramble the digits and symbols in an email or URL that plain ROT13 would leave readable.
Frequently asked questions
What is the difference between ROT13 and ROT47?+
ROT13 rotates only the 26 Latin letters by 13 places and leaves digits, punctuation, and spaces untouched. ROT47 rotates the whole band of 94 printable ASCII characters (codes 33–126) by 47, so it also scrambles digits and symbols like @, /, and 8. Use ROT13 for readable-ish letter obfuscation and ROT47 when you want the punctuation hidden too.
Is ROT13 a form of encryption?+
No. ROT13 is obfuscation, not encryption — there is no key, and anyone can reverse it in seconds. It exists to hide text from casual view, such as spoilers, puzzle answers, or offensive words in a forum post, so a reader has to opt in to seeing it. Never use it to protect anything that actually needs to stay secret; reach for a real cipher or an HMAC instead.
Why does applying ROT13 twice give back the original text?+
Because the alphabet has 26 letters and 13 + 13 = 26, a full turn. Rotating forward 13 and then forward 13 again lands you exactly where you started, so the same function both encodes and decodes. ROT47 works the same way: its band is 94 characters wide and 47 is precisely half, so two passes cancel out.
Does ROT13 change numbers, symbols, or accented letters?+
No. ROT13 touches only A–Z and a–z; digits, punctuation, whitespace, emoji, and accented or non-Latin characters like é or 日 pass through unchanged. If you need those hidden as well, switch to ROT47, which rotates every printable ASCII character but still leaves spaces and any non-ASCII Unicode alone.
Is my text sent to a server?+
No. Both ciphers run entirely in your browser with plain JavaScript, so nothing you type or paste is uploaded. The page also keeps working offline once it has loaded.