Mirror Text Generator

Reverse and flip any text into a true mirror image. See the CSS-flipped visual, the plain reordered text, and quick character and word counts.

Quick Facts

Method
Character reversal + CSS horizontal/vertical flip
Reversing swaps the character order; the CSS transform then flips each glyph so the output reads as an actual reflection, not just rearranged letters.
Historical note
Leonardo da Vinci's notebooks
Da Vinci wrote much of his notes in mirror script — right-to-left with each letter reversed — legible only by holding the page up to a mirror.

Your Results

Calculated
Mirror image
-
True visual reflection (CSS-flipped)
Reordered text
-
Character sequence, no visual flip
Character count
-
Includes spaces and punctuation
Word count
-
Whitespace-separated words

Ready

Enter text, pick a mirror type, and press Mirror Text.

About the Mirror Text Generator

This tool turns any text into a mirror image using the same geometry a real mirror uses. A vertical mirror — held upright beside the text, the way you'd hold a hand mirror next to a page — reverses left and right: it swaps the reading order and flips each letter horizontally. A horizontal mirror — like a reflection in still water below the text — flips everything upside-down instead, without changing which letter comes first. The generator reproduces both by reordering the characters and then applying a CSS transform that visually flips the result, so what you see really is a reflection, not just a rearranged string.

The method

Two independent steps produce the output:

  • Character order: "Reverse entire text" reverses every character in the string front-to-back (Unicode code-point aware, so emoji and accented letters are not corrupted). "Keep word order, mirror each word" instead reverses the letters inside each word but leaves the words themselves in their original left-to-right sequence — useful when you want a mirrored look that is still easier to scan.
  • Visual flip: the reordered text is wrapped in a CSS transform — scaleX(-1) for a vertical (left-right) mirror, or scaleY(-1) for a horizontal (upside-down) mirror — which flips every glyph the way a physical mirror would.

The "Reordered text" result shows the character sequence on its own, without the visual flip, so you can copy plain characters into places that don't support the CSS transform — plain-text messages, some fonts, or printed labels.

Mirror writing in history

Mirror writing is centuries old. Leonardo da Vinci wrote much of his notebooks right-to-left with each letter reversed — a habit historians attribute to his being left-handed (it avoided smearing wet ink as he wrote) and, possibly, to keeping casual readers out of his notes. Reading his manuscripts today typically requires holding the page up to a mirror or, as this tool does, flipping the image digitally.

Word and character counts

Alongside the mirrored output, the tool reports the plain character count (every character including spaces and punctuation) and the word count (chunks of text separated by whitespace). These counts describe your original input and don't change based on the mirror type or character-order setting you choose.

Frequently Asked Questions

How does the mirror text generator work?
It reorders the characters in your text (either reversing the whole string, or reversing each word while keeping word order), then wraps the result in a CSS transform - scaleX(-1) for a left-right mirror or scaleY(-1) for an upside-down mirror - so the glyphs themselves flip the way a real reflection would.
What is the difference between the vertical and horizontal mirror?
A vertical mirror stands upright beside the text and reverses left and right, so both the reading order and each letter's shape flip horizontally - the classic mirror-writing effect. A horizontal mirror lies flat below the text, like a reflection in water, and flips everything upside-down without changing which letter comes first.
Will the mirrored text look flipped everywhere I paste it?
Only the "Mirror image" result is visually flipped, and it relies on a CSS transform, so it displays correctly on web pages but not in plain-text apps like SMS or a basic text editor. Use the "Reordered text" result if you need plain characters without a styling dependency.
Does mirroring work correctly with emoji and accented characters?
Yes. The reversal step uses Unicode code points rather than raw string indexes, so multi-byte characters such as emoji, accented letters, and other non-ASCII symbols move as whole units instead of being split apart or corrupted.