ROT13 Encoder / Decoder
Encode or decode text with ROT13 cipher instantly online. ROT13 is self-inverse — applying it twice returns the original text. Free ROT13 tool, runs entirely in your browser.
Related Tools
Base64 Encode
Encode any text to Base64 instantly. Full UTF-8 support, runs entirely in your browser.
Base64 Decode
Decode Base64 strings back to plain text instantly. Full UTF-8 support, runs entirely in your browser.
URL Encode
URL-encode any text instantly with percent-encoding. Supports Unicode and all special characters.
ROT13 (Rotate by 13) is a substitution cipher that replaces each Latin letter with the letter 13 positions later in the alphabet, wrapping around at Z. Because the Latin alphabet has 26 letters, applying ROT13 twice recovers the original text — the cipher is its own inverse. ROT13 provides no cryptographic security; it is used purely to obscure text from casual reading.
ROT13 originated on Usenet newsgroups in the 1980s as a convention for hiding spoilers, punchlines, and potentially offensive content — readers who wanted to see the content would apply the transformation, while others could scroll past without accidentally reading it. It remains widely used today in puzzle communities, CTF competitions, and developer culture.
This tool applies ROT13 using pure JavaScript character arithmetic. ASCII uppercase letters (65–90) and lowercase letters (97–122) are rotated by 13 within their respective ranges. Numbers, punctuation, and non-Latin characters pass through unchanged. Since ROT13 is self-inverse, the same tool encodes and decodes.
Common Use Cases
Hiding spoilers in online discussions
Reddit, Stack Overflow meta posts, and forum threads use ROT13 to optionally obscure plot spoilers or puzzle solutions. Pasting spoiler text here and posting the ROT13 output allows readers to choose whether to decode it, following the community convention without requiring specialized forum software or markdown spoiler tags.
Solving ROT13-encoded CTF flags
CTF competitions include ROT13 as a beginner-level cipher challenge, sometimes stacked with other encodings (e.g., base64 of ROT13 of the flag). Pasting the ciphertext here instantly recovers the plaintext flag or the intermediate decoded layer, which can then be fed into the next decoding step.
Obscuring email addresses from scrapers
Some static websites obfuscate email addresses in HTML by ROT13-encoding them and using a small JavaScript snippet to decode on click. Developers building or auditing such sites use ROT13 here to verify that a scrambled address decodes to the correct value before deploying, without needing to test the live JavaScript.
Encoding puzzle answers in documentation
Technical documentation, onboarding guides, and coding challenge write-ups sometimes hide answers or hints using ROT13 so readers can attempt a problem before seeing the solution. Encoding the answer here produces a string that looks scrambled inline but is recoverable by anyone who needs it, without requiring a separate spoiler system.
How ROT13 Works
- Type or paste your text in the left panel.
- The ROT13-encoded output appears instantly on the right.
- To decode, paste the encoded text back into the left panel — ROT13 is its own inverse.
- Click Load Example to encode a sample sentence.
How It Works
- Each letter is shifted 13 positions forward in the alphabet
- A → N, B → O, ... Z → M (wraps around)
- Numbers, spaces, and punctuation are unchanged
- Applying ROT13 twice returns the original text