b2KIT

ROT13 / ROT47 Encoder

Apply ROT13 (letters only) or ROT47 (all printable ASCII) rotation ciphers. Instant encode/decode toggle.

Tested tool guide Tested browser tools Checked August 16, 2026

What ROT13 / ROT47 Encoder does, with a checked example

ROT13 and ROT47 are rotation ciphers: each character shifts a fixed number of places within a fixed alphabet, 13 through the 26 letters or 47 through the 94 printable ASCII characters. Paste text and the shift applies immediately, with a toggle choosing between the two schemes. Because 13 is half of 26 and 47 is half of 94, running the cipher twice restores the original text, so the encode and decode buttons perform exactly the same operation. The surprise: this is not encryption. There is no key, and anyone who recognizes the scheme can decode the text by hand.

Worked example

A concrete input and expected output from the current implementation.

Input

Hello, World! (ROT13 mode)

Expected output

Uryyb, Jbeyq!

Each letter moves 13 places forward in the alphabet, wrapping around: H becomes U, e becomes r, and so on. Commas, spaces and the exclamation mark are not letters, so ROT13 leaves them untouched, and re-applying the same transformation restores the original. Switching to ROT47 instead yields "w6==@ [(@C=5P", because that scheme also scrambles digits and punctuation.

How the result is produced

1

Rotating letters by 13

ROT13 works on the 26 letters of the alphabet only, upper and lower case alike. Each letter is replaced by the letter 13 positions further on, wrapping from Z back to A (A becomes N, N becomes A, a becomes n). Digits, punctuation, spaces and newlines pass through unchanged. Because two shifts of 13 complete a full 26-letter circle, the cipher is its own inverse: applying it twice returns the input, which is why encoding and decoding are one and the same operation.

2

Rotating the printable range by 47

ROT47 takes each character with an ASCII code between 33 and 126 (the printable range from '!' to '~') and adds 47, wrapping around within those 94 positions. Letters, digits and punctuation all move, so the output looks like an unrelated string of symbols. Characters below 33, notably space, tab and newline, stay put, as do non-ASCII characters such as accented letters or emoji. Two shifts of 47 cover 94 positions exactly, so this cipher is its own inverse too.

Good uses

  • Obfuscate a spoiler or quiz answer before posting it in a chat or forum, where interested readers can decode it themselves with one paste.
  • Hide an email address in a page's HTML source from simple harvesting scrapers, which no longer recognize it as an address; it stays one paste away from readable for humans.
  • Read ROT13 or ROT47 text you found elsewhere: paste the ciphertext in and read the plaintext, since the same transformation works in both directions.

Limits and checks

  • This is not security. There is no key and the scheme is common knowledge; anyone who recognizes the pattern decodes it by hand or with any free tool in seconds. Never use it for passwords, account numbers, or any content whose disclosure would matter.
  • Coverage is partial and easy to misread as a bug. ROT13 ignores digits, punctuation and every non-ASCII character, so mixed-language text shows large unchanged fragments; ROT47 leaves spaces and line breaks alone, and both schemes leave emoji and accented letters untouched.
  • ROT47 output contains characters with syntactic meaning elsewhere, such as quotes, backslashes and angle brackets, so pasting ciphertext into HTML, JSON or a shell can be parsed as markup or code. And since encode and decode are identical, switching the toggle never changes the result, which users often take for a labeling bug.

Common questions

Can I use this to protect a password or API key?

No. ROT13 and ROT47 have no key and are trivially reversible, so anything hidden this way is readable by anyone who recognizes the scheme. Use a password manager for credentials, and real, keyed encryption such as AES-256-GCM for data you actually need to protect. This tool is for making text unreadable at a glance, not for secrecy.

Why do the encode and decode buttons produce the same output?

Because both ciphers are their own inverse. Shifting 13 twice covers 26 letters, and shifting 47 twice covers 94 printable characters, so you always land back where you started. Decoding is just encoding applied to already-encoded text. The toggle exists to label what you intend, not to change the transformation.

References and verification

The example and behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools