Mirror Text
Reverse text character-by-character.
Overview
Mirror text reverses your input character by character — the last character of the input becomes the first character of the output. "Hello" becomes "olleH". It's a different operation from reversing words: every character flips, including punctuation and spaces.
Puzzle setters, escape-room designers, and ARG creators use mirrored text to hide messages that only become legible when flipped. Developers also reach for it as a quick test of palindromes (a true palindrome reads the same mirrored) or to check string-reversal logic.
How it works
The reversal is a simple character-by-character flip of the input sequence. Unicode-aware implementations operate on graphemes (visible characters) rather than raw code units, so an emoji with a skin-tone modifier doesn't get split into pieces. Right-to-left scripts like Arabic and Hebrew display oddly when mirrored because their natural direction conflicts with the reversed character order.
Examples
Input: Hello, World!
Output: !dlroW ,olleH
Input: racecar
Output: racecar (a palindrome — reads the same mirrored)
Input: 12345
Output: 54321
FAQ
What's the difference between mirror text and "upside-down text"?
Mirror reverses the character order. Upside-down text replaces each character with a visually-flipped Unicode look-alike (n becomes u, h becomes ɥ), without changing order. They produce very different results.
Does it work on emoji?
Yes. The reversal is grapheme-aware so multi-codepoint emoji (skin tones, family clusters) stay intact and just appear in reverse order.
Why does Arabic look strange mirrored?
Arabic and Hebrew are right-to-left scripts. Reversing the underlying character order conflicts with their natural reading direction, producing visually-confused output.