Reverse Text Generator

Write text backwards, reverse the order of words or lines, or mirror every word on its own. Emoji, flags and accented letters are kept intact instead of being broken apart.

Reverse

Runs entirely in your browser. Nothing you enter is uploaded or stored.

How to use the text reverser

Type or paste text and choose what to reverse. The result updates immediately.

  • Characters writes the whole text backwards: Hello world becomes dlrow olleH. With several lines, the last line comes first and is reversed too.
  • Word order keeps each word as it is but puts the words in reverse order: one two three becomes three two one.
  • Each word mirrors every word in place and keeps their order: Hello world becomes olleH dlrow.
  • Line order flips the list of lines upside down without changing the lines themselves, useful for turning a newest-first log into oldest-first.

Tick Line by line to reverse characters or words within each line while keeping the lines in their original order.

Why emoji and accents need special care

A character on screen is not always one unit in memory. JavaScript strings are made of UTF-16 code units, so the common trick str.split("").reverse().join("") breaks anything outside the basic range:

"I 👍 café".split("").reverse().join("")   // "éfac \uDC4D\uD83D I" - broken emoji

Even splitting by code points is not enough. A family emoji such as 👨‍👩‍👧 is several code points joined by invisible zero-width joiners, a flag 🇩🇪 is two regional indicator letters, a skin-tone emoji carries a modifier, and an é may be stored as e plus a combining accent. Reversed code point by code point, those turn into separate people, a different flag or an accent on the wrong letter.

This tool splits text into grapheme clusters, the units a reader perceives as one character, with the browser's Intl.Segmenter. Every emoji, flag and accented letter moves as a whole. Very old browsers without Intl.Segmenter fall back to code points, which still keeps simple emoji intact.

Worked examples

ModeInputOutput
Charactersstresseddesserts
CharactersGo 🇩🇪!!🇩🇪 oG
Word orderfirst second thirdthird second first
Each wordHello, world,olleH dlrow

What people use it for

  • Checking palindromes: a word or phrase that reads the same backwards, such as racecar.
  • Puzzles, games and simple mirror-writing effects for social media.
  • Reordering lists and logs with line order reversal.
  • Testing how software handles Unicode, right-to-left text and unusual input.

Common mistakes

  • Expecting encryption. Reversed text is trivially readable and offers no protection.
  • Punctuation in word modes. Words are split on spaces, so punctuation belongs to the word next to it. In "Each word" mode, Hello, becomes ,olleH.
  • Extra spaces. Word order reversal joins words with single spaces, so runs of several spaces are collapsed.
  • Right-to-left scripts. Arabic and Hebrew are stored in logical order. Reversing them does not produce correct left-to-right text.

Frequently asked questions

How do I reverse a string with emoji without breaking it?

Split it into grapheme clusters rather than code units, for example with Intl.Segmenter in JavaScript, then reverse the array of clusters. This tool does exactly that, so emoji, flags and accented letters stay intact.

What is the difference between reversing characters and reversing words?

Reversing characters writes the text backwards letter by letter. Reversing word order keeps every word readable but changes their order, so the last word comes first.

Can I reverse each line separately?

Yes. Tick Line by line and the characters or words of each line are reversed while the lines stay in their original order.

How do I flip the order of lines?

Choose Line order. The last line becomes the first and the content of each line stays unchanged.

Does reversing text work for Arabic or Hebrew?

The characters are reversed, but because these scripts are stored in logical order and displayed right to left by the browser, the result is usually not meaningful text.