Upside Down Letters Unicode — How Flip Text Works Technically
Updated: May 2026
Flip text is not a font trick or a CSS transform — it relies on real Unicode characters that have existed in the standard for decades. This page explains where those characters come from, which Unicode blocks contain them, and why a linguist's alphabet became the internet's favourite text effect.
Use the generator to flip any text instantly — no Unicode knowledge required.
Open the Generator →The origin: the International Phonetic Alphabet
The International Phonetic Alphabet (IPA) was developed in the late 19th century by French and British phoneticians who needed a consistent system to transcribe the sounds of every human language. Standard Latin letters were not sufficient: the letter a sounds different in English, French, Arabic and Hindi, so phoneticians needed new symbols that were unambiguous.
One productive strategy was to take existing letters and rotate or mirror them to create new symbols with distinct phonetic values. The turned a (ɐ, U+0250) represents a near-open central vowel found in sounds like the British English "butter". The turned e (ǝ, U+01DD) represents the mid-central schwa sound — the most common vowel in English, heard in "about" or "sofa". The turned m (ɯ, U+026F) represents a close back unrounded vowel found in Korean and Japanese.
These symbols were formally encoded in Unicode beginning with version 1.1, released in 1993. Because they needed to be typeable and distinguishable from other characters, each turned letter received its own unique code point rather than being represented as a transformation of the original letter.
Which Unicode blocks contain turned letters?
- IPA Extensions (U+0250–U+02AF): the primary source for turned lowercase Latin letters. Contains ɐ (turned a), ɔ (open o), ǝ (turned e), ɟ (dotless j with stroke), ɥ (turned h), ɯ (turned m), ɹ (turned r), ʇ (turned t), ʌ (turned v), ʍ (turned w), ʎ (turned y) and many others used in phonetic transcription.
- Phonetic Extensions (U+1D00–U+1D7F): additional small capital and modifier letter forms. Contains ᴉ (turned i), ᴚ (turned small capital r) and related symbols.
- Latin Extended-B (U+0180–U+024F): contains Ǝ (capital reversed e) used for the upside-down capital E.
- Spacing Modifier Letters (U+02B0–U+02FF): contains ʞ (turned k) at U+029E.
- Mathematical Operators (U+2200–U+22FF): ∀ (for all, used for turned A) at U+2200, ∩ (intersection, used for turned U) at U+2229, ⊥ (up tack, used for turned T) at U+22A5.
- Letterlike Symbols (U+2100–U+214F): Ⅎ (turned capital F) at U+2132, ⅁ (turned sans-serif capital G) at U+2141, ⅄ (turned sans-serif capital Y) at U+2144.
- Canadian Syllabics (U+1400–U+167F): ᗺ (used for turned B) and ᗡ (used for turned D) are borrowed from the Canadian Aboriginal Syllabics block, which happens to contain shapes resembling rotated Latin letters.
Why not use CSS transform: rotate(180deg)?
CSS can visually rotate any element, including text, using transform: rotate(180deg). However, this approach has significant limitations for the use case of upside-down text in social media:
- CSS rotation only works in an HTML environment. You cannot paste a CSS rule into an Instagram bio or a Discord message — only raw text travels via the clipboard.
- CSS-rotated text is not selectable in the normal reading direction and cannot be copied as readable text.
- Screen readers and accessibility tools interpret CSS-rotated text as the original characters, creating a confusing mismatch between the visual and accessible representations.
Unicode upside-down characters have none of these limitations. They are plain text code points. They copy, paste, search and render the same way on every platform that has Unicode support — which in 2026 means essentially everything.
Font rendering and fallback behaviour
Operating systems use font fallback chains: if the primary font does not contain a glyph for a given code point, the OS substitutes a glyph from a fallback font. On Windows, Segoe UI covers the IPA Extensions block. On macOS and iOS, San Francisco and Helvetica Neue provide coverage. On Android, Noto Sans covers nearly the entire Unicode standard.
A small number of characters used in the flip table — particularly some from the Canadian Syllabics block — may appear slightly different in weight or style compared to their surrounding Latin characters, because they come from a different fallback font. This is a known cosmetic limitation and does not affect functionality.
JavaScript implementation notes
In JavaScript, the flip transformation is implemented as a lookup table (plain object) mapping each source character to its Unicode equivalent. The string is split using the spread operator to handle multi-codepoint characters correctly:
For Flip & Reverse, the mapped array is reversed before joining:
This handles emoji and other characters outside the Basic Multilingual Plane correctly because the spread operator iterates by Unicode code point (not by UTF-16 code unit), treating surrogate pairs as single characters.
Frequently asked questions
Where do upside down Unicode letters come from?
Most come from the International Phonetic Alphabet. Phoneticians added turned and mirrored Latin variants to represent specific speech sounds. Unicode encoded these into the IPA Extensions, Phonetic Extensions and Latin Extended-B blocks.
Are upside down letters supported everywhere?
Yes. The IPA Extensions block (U+0250–U+02AF) has been in Unicode since version 1.1. Every modern OS ships fonts that cover it. Coverage is universal for all platforms in active use.
What Unicode blocks contain turned letters?
Primarily: IPA Extensions (U+0250–U+02AF), Phonetic Extensions (U+1D00–U+1D7F), Latin Extended-B (U+0180–U+024F), Mathematical Operators (U+2200–U+22FF) and Letterlike Symbols (U+2100–U+214F).