Flip Text

Reverse text character-by-character or mirror it with Unicode counterparts. Line breaks are preserved. Runs entirely in your browser.

About the Flip Text tool

This tool flips your text in three ways. Reverse writes the characters of each line backwards while keeping line breaks in place. Mirror swaps each letter for its upside-down Unicode counterpart (so hello becomes ɥǝllo-style text). Reverse + Mirror combines both for the classic "upside-down and backwards" effect often seen on social media. Everything runs locally in your browser — your text never leaves your device.

How it works

  • Reverse mode splits your input on line breaks, reverses each line's characters, and rejoins with the original line breaks. Whitespace and punctuation are preserved.
  • Mirror mode looks up each character in a Unicode mirror map (letters like a-z, A-Z, digits, and common punctuation). Characters without a mirror counterpart are left unchanged.
  • Reverse + Mirror mirrors the characters first, then reverses each line — producing text that reads naturally when the page is flipped upside down.

How to use

  1. Type or paste your text into the Input box.
  2. Choose a Mode from the dropdown.
  3. Click Flip — the result appears in the Output box.
  4. Click Copy result to copy to your clipboard, or Clear to start over.

Frequently asked questions

Does this work with non-English characters? Reverse mode works with any Unicode text — every character is reversed, including CJK characters and emoji. Mirror mode only maps Latin letters, digits, and common punctuation; other characters are left as-is.

Why does mirrored text look weird in some fonts? Mirror characters come from the Unicode "Phonetic Extensions" and similar blocks. Most modern fonts include them, but rendering varies. For best results use a system font or the bundled monospace.

Will line breaks be preserved? Yes. Each line is flipped independently and the original line breaks are kept, so multi-paragraph text stays structured.

Is my text uploaded anywhere? No. All processing happens in your browser with JavaScript. Nothing is sent to a server.