Mirror / Reverse Text

Reverse a string character by character, or mirror it with flipped Unicode glyphs.

Ad placeholder (leaderboard)

This tool flips text two different ways. Reverse mode rearranges your characters in the opposite order — handy for puzzles, palindrome checks, and reversed-string snippets. Mirror mode goes further: after reversing the order it swaps each character for a horizontally flipped Unicode lookalike, producing text that reads like a reflection in a mirror. Everything runs locally in your browser.

How it works

Reversing is conceptually simple but has one trap: a naive string.split("") breaks apart multi-byte characters such as emoji and accented letters, because JavaScript strings are stored as UTF-16 code units. This tool instead uses Array.from(text), which iterates by Unicode code point, so each visible symbol is treated as one unit before the order is reversed.

Mirror mode performs the same code-point reversal, then maps each character through a lookup table of horizontally flipped glyphs — for example b to d, p to q, E to its reversed form, and brackets like ( to ). Symmetric characters and any glyph without a known flipped counterpart pass through unchanged, so the output never breaks.

Tips and notes

The mirrored glyphs come from across the Unicode range — Latin Extended, IPA, and historic blocks — so rendering depends on the font on the viewer’s device. If a character shows as a box, the reader’s font simply lacks that glyph; the underlying text is still valid. For a guaranteed-readable result that any audience can copy, use Reverse mode.

A quick test: the word level reversed is still level (a palindrome), while mirror reversed becomes rorrim.

Ad placeholder (rectangle)