Create copyable upside-down lettering by lowercasing text, reversing its graphemes and replacing supported characters with lookalike Unicode symbols.
Runs locally in your browserHello! becomes ¡ollǝɥ. The result is ordinary text, so its appearance depends on the font in the app where you paste it. This tool does not rotate a picture or apply a font.
All text is lowercased using JavaScript's locale-independent rules. Grapheme order is then reversed across the entire input, including the order of lines. There is no separate reverse-each-line mode. Spaces and line breaks remain characters in the result.
The fixed mapping covers selected Latin letters and punctuation. Characters outside it remain unchanged after lowercasing. Chinese text is reordered, not visually turned upside down. Combining marks stay with their grapheme but are not rotated.
Native Intl.Segmenter keeps supported emoji sequences and combining-character clusters together. Segmentation depends on your browser's Unicode support. A browser without this API shows an error instead of splitting text into UTF-16 units. Unpaired Unicode surrogates are rejected.
Not in general: the first pass lowercases the text, so original capital letters cannot be recovered. This is a visual text effect, not reversible encoding.
The flip operation runs in this page's JavaScript and does not submit the input. The site still loads page resources; this statement concerns the conversion itself.
Only the tool's fixed mapping has upside-down substitutes. Unmapped characters keep their lowercased form; the receiving font determines how the substitutes look.