🍱 Lunchbox Hands

Upside-Down Text

Flip your text upside down — type and copy flipped text instantly

Type any text and flip it upside down. The result is real Unicode characters you can copy and paste into bios, usernames, and posts — nothing is uploaded and everything runs in your browser.

plɹoʍ ollǝɥ

How the flip works

Rotating text 180 degrees takes two steps, and the tool does both. First, every character is looked up in a table and swapped for a character that looks like it turned over: e becomes ǝ, h becomes ɥ, t becomes ʇ. Second, the whole string is reversed. That second step matters: when you turn a piece of paper upside down, the last letter ends up on the left, so the flipped text has to read right to left to look correct.

Some pairs simply swap with each other because they are already rotations of one another: b and q, d and p, n and u, M and W, 6 and 9. Others are their own rotation and are left as plain letters: lowercase l o s x z, capitals H I N O S X Z, and the digits 0 and 8.

A worked example

Typing Pizza at 5? produces ¿ϛ ʇɐ ɐzzᴉԀ. Reading the output left to right: the question mark became an inverted ¿ and moved to the front, 5 became the Greek stigma ϛ, "at" became ʇɐ, and "Pizza" became ɐzzᴉԀ, with the capital P replaced by the Cyrillic Komi letter Ԁ (U+0500) and the i replaced by the turned i ᴉ (U+1D09). The two z's are their own rotation, so they stay as ordinary z's.

Brackets and quotes are handled too. ( and ) swap, as do square brackets, curly braces and angle brackets, so a parenthesis still opens and closes in the right place after the reversal. Lunchbox (v2)! becomes ¡(ᄅʌ) xoqɥɔun˥. A full stop becomes the raised dot ˙, a comma and an apostrophe swap, and & becomes the turned ampersand ⅋.

What it does not do

  • Only basic keyboard characters are flipped. The table covers a–z, A–Z, 0–9 and common punctuation. Accented letters like é or ñ, letters from other alphabets, and symbols like @, # or : pass through unchanged, so they will appear the right way up in the flipped result.
  • Emoji built from several code points can break. The reversal works one Unicode code point at a time, so a flag emoji (two regional-indicator letters) comes out with its letters swapped: 🇺🇸 turns into 🇸🇺. A skin-tone emoji separates from its modifier, and an accent typed as a separate combining mark lands on the wrong letter. Plain emoji like 😀 are fine.
  • Multi-line text flips as one block. The last line becomes the first, as it would if you turned the page over.
  • It is one-way. See the FAQ below on flipping text back.

Nothing you type is sent anywhere. The conversion is a small lookup table in the page's JavaScript, so once the page has loaded it keeps working without a connection.

Related tools

If you want text that reads backwards rather than upside down, the Mirror & Reverse Text tool reverses strings and swaps in mirrored letter look-alikes. For bold, script and bubble letters, try the Fancy Text Generator. The post Fancy fonts aren't fonts goes through which Unicode blocks these characters come from and what screen readers do with them, and the Unicode Inspector shows the code point of every character in a flipped result.

Frequently asked questions

Is upside-down text a font?

No. There is no upside-down font involved, which is why it survives copy and paste into places that strip formatting. Each letter is replaced with a different Unicode character that happens to look like the original rotated 180 degrees, such as ɐ (U+0250, from the IPA block) for a, or ∀ (U+2200, the math symbol for "for all") for A. The string is then reversed so it reads correctly when the screen is turned around.

Can I paste upside-down text back in to flip it the right way up?

Not reliably. The lookup table only covers normal keyboard characters, so pasting flipped text back in just reverses it and leaves most of the special characters alone. "hello world" flips to "plɹoʍ ollǝɥ", and flipping that again gives "ɥǝllo ʍoɹld": the order is restored but ɥ, ǝ, ʍ and ɹ are not converted back. Keep your original text if you need it.

Why do some flipped characters look wrong or render as boxes?

Several letters have no true rotated twin in Unicode, so the table borrows the closest shape from other scripts. The digit 2 becomes ᄅ (a Korean Hangul jamo) and 4 and 7 become Bopomofo letters (ㄣ and ㄥ). Those characters often render from a different fallback font, so they can look a bit too wide, too heavy, or sit at a different height. If a device has no font for a character at all, you will see a box instead.

Will upside-down text work in Instagram, Discord, or a username?

It usually pastes fine wherever plain Unicode text is accepted, because it is ordinary text. Username fields are the exception: many sites only allow letters, numbers and a few symbols, and will reject characters like ʇ or ∀. Bios, captions, comments and chat messages are the places it tends to work.

Can screen readers read upside-down text?

Badly. A screen reader announces the borrowed characters by their real Unicode identities, in reversed order, so "∀" may be read as "for all" and IPA letters may be spelled out by their phonetic names or skipped. Use it for decoration, not for anything people need to understand, and avoid it for important information in posts.

Get weekly dev tools and tips