Free upside-down text generator for messages and captions
Turn a greeting, caption, or puzzle clue upside down. Type or paste your text, then copy the flipped characters into your message or design.
Loading the tool…
What is upside-down text?
Upside-down text is ordinary text replaced with Unicode characters that look like rotated letters. The character order is reversed too, creating the effect of turning a phrase through 180 degrees. For example, hello becomes oןןǝɥ.
The result is still selectable, copyable text. You do not need to install a special font or send an image, although the receiving app needs a font that can display the chosen characters. Some replacements are close matches; others are only visual approximations.
A small twist for messages, captions, and puzzles
A short flipped phrase can add a surprise to a greeting, give a photo caption a playful finish, or make a clue take an extra moment to read. It also works as sample text when exploring how a design handles unusual characters.
Keep the effect brief. A few upside-down words are easier to recognize than an entire paragraph, and mixing them with normal text gives readers some context. For example, keep a birthday message readable and flip just the closing greeting, or place a flipped answer beneath a riddle.
Upside-down text examples
These examples use this converter’s actual character substitutions. Letter case matters, and punctuation moves with the rest of the phrase.
| Original text | Upside-down result | What to notice |
|---|---|---|
Hello! | ¡oןןǝH | A short greeting, with the exclamation mark moved to the start. |
hello world | pןɹoʍ oןןǝɥ | Both words and their letters change order. |
Good morning! | ¡ƃuıuɹoɯ poo⅁ | Uppercase and lowercase letters use different mappings. |
(hello) | (oןןǝɥ) | The brackets swap as the word flips. |
12345 | ϛㄣƐᄅƖ | Digits become visual lookalikes, not a usable number. |
Multiple lines turn over too
The converter reverses the whole input, including line order. Enter:
top
bottom
The result is:
ɯoʇʇoq
doʇ
Blank lines and spaces are retained as the text changes position. Emoji sequences stay together; an emoji is moved, not visually rotated.
How the text is flipped
Each supported character is replaced with a partner: a becomes ɐ, b becomes q, and 6 becomes 9. The converter then reverses the sequence. Characters with no mapped partner keep their original form as they move.
This differs from simply writing backwards. Reversing hello alone gives olleh; replacing its letters as well gives oןןǝɥ. It also differs from rotating a text box in a graphics editor, which rotates the actual letter shapes without changing their character identities.
The mappings work in both directions. Inverse places the result back into Input and applies the conversion again, letting you restore ordinary mapped text. For reliable recovery, use the unchanged output: another app may alter quotation marks, spacing, or Unicode characters when you paste it.
Upside-down character reference
Choose a tab to inspect the characters used by this tool. The code point identifies the replacement precisely, even when fonts draw it differently. Unicode names describe the actual characters borrowed for the effect; they do not imply that Unicode defines a complete upside-down alphabet.
Lowercase letters
All 26 basic Latin lowercase letters are listed below. Letters such as o, s, x, and z stay unchanged; pairs such as b/q swap. The lowercase l uses Hebrew final nun (ן), a visual approximation whose appearance and direction can vary in context.
| Input | Flipped character | Output code point | Character used |
|---|---|---|---|
a | ɐ | U+0250 | Latin small letter turned a. |
b | q | U+0071 | Latin small letter q. |
c | ɔ | U+0254 | Latin small letter open o. |
d | p | U+0070 | Latin small letter p. |
e | ǝ | U+01DD | Latin small letter turned e. |
f | ɟ | U+025F | Latin small letter dotless j with stroke. |
g | ƃ | U+0183 | Latin small letter b with topbar. |
h | ɥ | U+0265 | Latin small letter turned h. |
i | ı | U+0131 | Latin small letter dotless i. |
j | ɾ | U+027E | Latin small letter r with fishhook. |
k | ʞ | U+029E | Latin small letter turned k. |
l | ן | U+05DF | Hebrew letter final nun. |
m | ɯ | U+026F | Latin small letter turned m. |
n | u | U+0075 | Latin small letter u. |
o | o | U+006F | Latin small letter o (unchanged). |
p | d | U+0064 | Latin small letter d. |
q | b | U+0062 | Latin small letter b. |
r | ɹ | U+0279 | Latin small letter turned r. |
s | s | U+0073 | Latin small letter s (unchanged). |
t | ʇ | U+0287 | Latin small letter turned t. |
u | n | U+006E | Latin small letter n. |
v | ʌ | U+028C | Latin small letter turned v. |
w | ʍ | U+028D | Latin small letter turned w. |
x | x | U+0078 | Latin small letter x (unchanged). |
y | ʎ | U+028E | Latin small letter turned y. |
z | z | U+007A | Latin small letter z (unchanged). |
Uppercase letters
Capital letters have their own mappings. Several use mathematical or other-script characters, so their shapes may be less convincing in some fonts. For example, A uses the for-all symbol and B uses a Deseret letter.
| Input | Flipped character | Output code point | Character used |
|---|---|---|---|
A | ∀ | U+2200 | For all. |
B | 𐐒 | U+10412 | Deseret capital letter bee. |
C | Ɔ | U+0186 | Latin capital letter open o. |
D | ◖ | U+25D6 | Left half black circle. |
E | Ǝ | U+018E | Latin capital letter reversed e. |
F | Ⅎ | U+2132 | Turned capital f. |
G | ⅁ | U+2141 | Turned sans-serif capital g. |
H | H | U+0048 | Latin capital letter h (unchanged). |
I | I | U+0049 | Latin capital letter i (unchanged). |
J | ſ | U+017F | Latin small letter long s. |
K | ⋊ | U+22CA | Right normal factor semidirect product. |
L | ˥ | U+02E5 | Modifier letter extra-high tone bar. |
M | W | U+0057 | Latin capital letter w. |
N | N | U+004E | Latin capital letter n (unchanged). |
O | O | U+004F | Latin capital letter o (unchanged). |
P | Ԁ | U+0500 | Cyrillic capital letter komi de. |
Q | Ό | U+038C | Greek capital letter omicron with tonos. |
R | ᴚ | U+1D1A | Latin letter small capital turned r. |
S | S | U+0053 | Latin capital letter s (unchanged). |
T | ⊥ | U+22A5 | Up tack. |
U | ∩ | U+2229 | Intersection. |
V | Λ | U+039B | Greek capital letter lamda. |
W | M | U+004D | Latin capital letter m. |
X | X | U+0058 | Latin capital letter x (unchanged). |
Y | ⅄ | U+2144 | Turned sans-serif capital y. |
Z | Z | U+005A | Latin capital letter z (unchanged). |
Numbers and digits
The converter handles each digit separately and reverses their order. 6 and 9 swap; 0 and 8 retain their form. Other replacements borrow letter shapes. Use these for decoration, not calculations, dates, or values someone needs to enter accurately.
| Input | Flipped character | Output code point | Character used |
|---|---|---|---|
0 | 0 | U+0030 | Digit zero (unchanged). |
1 | Ɩ | U+0196 | Latin capital letter iota. |
2 | ᄅ | U+1105 | Hangul choseong rieul. |
3 | Ɛ | U+0190 | Latin capital letter open e. |
4 | ㄣ | U+3123 | Bopomofo letter en. |
5 | ϛ | U+03DB | Greek small letter stigma. |
6 | 9 | U+0039 | Digit nine. |
7 | ㄥ | U+3125 | Bopomofo letter eng. |
8 | 8 | U+0038 | Digit eight (unchanged). |
9 | 6 | U+0036 | Digit six. |
Punctuation and symbols
Each listed replacement also maps back to its input character. Brackets therefore swap partners, while punctuation such as ? and ! uses an inverted counterpart. The straight apostrophe pairs with comma; the backtick stays unchanged so these pairs remain reversible.
| Input | Flipped character | Output code point | Character used |
|---|---|---|---|
& | ⅋ | U+214B | Turned ampersand. |
. | ˙ | U+02D9 | Dot above. |
, | ' | U+0027 | Apostrophe. |
' | , | U+002C | Comma. |
" | „ | U+201E | Double low-9 quotation mark. |
[ | ] | U+005D | Right square bracket. |
] | [ | U+005B | Left square bracket. |
( | ) | U+0029 | Right parenthesis. |
) | ( | U+0028 | Left parenthesis. |
{ | } | U+007D | Right curly bracket. |
} | { | U+007B | Left curly bracket. |
? | ¿ | U+00BF | Inverted question mark. |
! | ¡ | U+00A1 | Inverted exclamation mark. |
< | > | U+003E | Greater-than sign. |
> | < | U+003C | Less-than sign. |
_ | ‾ | U+203E | Overline. |
\ | / | U+002F | Solidus. |
/ | \ | U+005C | Reverse solidus. |
; | ؛ | U+061B | Arabic semicolon. |
‿ | ⁀ | U+2040 | Character tie. |
⁅ | ⁆ | U+2046 | Right square bracket with quill. |
∴ | ∵ | U+2235 | Because. |
Emoji, accents, spaces, and unmapped characters
The tool groups text into complete user-perceived characters before reversing it. This prevents a joined emoji or a letter with a combining accent from being split into its individual pieces. See Unicode’s text segmentation reference for the underlying grapheme-cluster rules.
| Input or type | What happens | Example or detail |
|---|---|---|
Emoji such as 🙂 | Moves as a whole; its picture does not rotate. | hi 🙂 becomes 🙂 ıɥ. |
Joined emoji such as 👩💻 | The joined sequence stays together. | The person and laptop are not reversed separately. |
Accented letters such as é | Remain unchanged when no whole-character mapping exists. | café becomes éɟɐɔ; the accent is retained. |
| A letter plus a combining accent | The full cluster moves together, without substituting its base letter alone. | An e followed by U+0301 stays one accented unit. |
| Spaces and blank lines | Are preserved and moved with the reversed text. | The last input line becomes the first output line. |
Backtick (`) | Remains unchanged. | Unlike the legacy table, it does not share comma’s mapping. |
Other unmapped symbols, such as @, #, or + | Retain their original character. | They still change position within the phrase. |
| Other writing systems | Unmapped characters stay unchanged, but their order reverses. | This is not a language-aware rotation or translation. |
Getting a readable result when you paste
Start with a short phrase and check it in the destination app. A character that looks right here may appear with a different shape, spacing, or a missing-glyph box elsewhere. If a particular letter looks awkward, try a different word or letter case.
Some profile and username fields restrict which characters they accept. Mixed writing directions can also affect the display because the substitutions include characters from several scripts. The copied result carries characters, not this page’s font or layout.
Keep names, links, instructions, and other essential information in ordinary text. Screen readers may announce substituted characters by their own names rather than read the intended words. Flipped text is a visual effect, not encryption, and converting a predictable password does not make it a strong one.
How to use this tool
- Type or paste a phrase into Input. The Upside-down text field updates as you type. Try
Hello!to produce¡oןןǝH. - Copy the result. Use Copy result beside the output, then paste it into your message or caption. If copying is unavailable, select and copy the output manually.
- Check the pasted appearance. Fonts and character support vary between apps. Short phrases are usually easiest to read.
- Flip it back or start again. Inverse copies the result into Input and converts it again. Clear beside Input empties both fields.
Multiple lines reverse order too. Unmapped characters retain their form, and emoji sequences stay together.
Your tool data stays in your browser
This tool processes your data on your device. The text, files, or passwords you enter and the results it creates are not sent to our servers or any other server.
Page and asset requests still occur. Production pages also load Google Tag Manager and AdSense advertising; tool code does not send inputs or results to analytics or ads. See our privacy policy.
To inspect requests while using the tool, open your browser's developer tools and select Network. Try it with sample data.
Read How to check website network requests in Chrome, Firefox, Edge, and Safari.
Learn more and references
- Wikipedia: transformation of text - an overview of rotated, reversed, and mirrored text effects; different converters may choose different lookalikes.
- MDN: Intl.Segmenter - the JavaScript API used to identify whole user-perceived characters before reversing them.
- Unicode text segmentation - the standard describing grapheme clusters, including combining marks and emoji sequences.