Hide a spoiler two ways at once
On Discord you can blur a message by wrapping it in double pipes —
||like this|| — so readers must click to reveal it. ROT13 is a classic
letter-rotation cipher that scrambles text into nonsense until it is decoded.
This helper combines both: it ROT13s your text and then wraps the scrambled
result in spoiler markdown, so the message is hidden by the blur and still
scrambled even after it is clicked.
How it works
ROT13 shifts every letter forward 13 positions in the alphabet, wrapping around at the end:
plain: A B C D ... M N O ... Z
rot13: N O P Q ... Z A B ... M
Letters keep their case, and non-letters (spaces, digits, punctuation) pass
through unchanged. Because the alphabet has 26 letters and 13 is exactly half,
applying ROT13 a second time returns the original — the cipher is its own
inverse. The tool then wraps the scrambled string as ||scrambled|| so Discord
renders it as a clickable spoiler.
Worked example
Suppose you want to hide the plot twist “Darth Vader is Luke’s father.” ROT13 encodes it as “Qnegu Inqre vf Yhxr’f sngure.” Wrapped, you post ||Qnegu Inqre vf Yhxr'f sngure|| to Discord. Your server sees a grey blurred block. A reader who clicks reveals the scrambled text — still unreadable until they paste it back through a ROT13 tool. To decode, paste the revealed scrambled text into this tool: ROT13 applied again gives back the original message.
Why use double obfuscation?
Discord’s native spoiler tag hides content visually but anyone who clicks immediately reads the full text. For puzzle channels, ARGs (alternate reality games), and competitive game discussions, that is often not quite enough friction. Someone on mobile might accidentally tap a spoiler. In a game where knowing whether a message is worth decoding is itself valuable information, requiring a second step (the ROT13 decode) adds meaningful resistance.
Double obfuscation is also useful for riddle servers where the challenge is to work out how to read the answer, not just what the answer says. The method itself becomes part of the puzzle.
ROT13 character reference
| Input | ROT13 | Input | ROT13 |
|---|---|---|---|
| A / a | N / n | N / n | A / a |
| B / b | O / o | O / o | B / b |
| G / g | T / t | T / t | G / g |
| M / m | Z / z | Z / z | M / m |
Digits, spaces, punctuation, and Unicode characters outside A–Z pass through unchanged. A message like “Chapter 7!” becomes “Puncgre 7!” — the number and exclamation mark are not rotated.
Limitations
ROT13 provides zero cryptographic security. Anyone familiar with the technique decodes it instantly, and automated tools do so in milliseconds. Never use this to hide anything genuinely sensitive. It is appropriate only for voluntary friction — stopping the casual glance, not the determined reader. For actual privacy, use end-to-end encrypted messaging rather than server chat.