ROT13 Cipher
Encode and decode text using the ROT13 cipher. ROT13 is its own inverse — encoding and decoding are the same operation. Free, client-side tool.
Why Use the ROT13 Cipher?
ROT13 is a simple letter substitution cipher used primarily for obscuring text — spoilers, puzzle answers, or casual hiding of content. It replaces each letter with the 13th letter after it in the alphabet. Since the alphabet has 26 letters, applying ROT13 twice returns the original text.
Key Features
- Live preview as you type — see the ROT13 result instantly
- Complete alphabet reference table showing all substitutions
- Encode and Decode tabs (same operation, for clarity)
- Swap button to reverse input and output
How to Use
- Type or paste text in the input area
- The ROT13 result appears instantly in the output area
- Click Apply ROT13 or copy the result directly
Technical Details
ROT13 shifts each alphabetic character by 13 positions: A→N, B→O, ..., M→Z, N→A, O→B, ..., Z→M. Non-alphabetic characters (numbers, punctuation, spaces) are left unchanged. Both uppercase and lowercase letters are handled independently. The operation is its own inverse: ROT13(ROT13(x)) = x.
FAQ
Is ROT13 secure?
No, ROT13 provides no real security. It's easily reversed by anyone. It's used for casual text obfuscation, like hiding spoilers or puzzle answers.
Why does encoding and decoding use the same operation?
Because 13 is exactly half of 26 (the alphabet length), applying the shift twice brings you back to the original letter. This makes ROT13 its own inverse.
Related tools
Base64 Encode / Decode
Encode text to Base64 or decode Base64 strings with full Unicode support
URL Encode / Decode
Encode and decode URLs with full or component encoding modes
HTML Entity Encode / Decode
Encode and decode HTML entities like < > & "
JWT Token Decoder
Decode JWT tokens to view header, payload, and signature as formatted JSON
Morse Code Translator
Convert text to Morse code and back with visual representation and audio playback
Binary Translator
Convert text to binary (0s and 1s) and back with byte-level breakdown