Reverse text

Reverse characters, words, or line order without breaking emoji.

Your inputs stay on your deviceFREE · NO SIGN-UP
Reverse

Each line is reversed character by character. A family emoji, a flag, and an accented letter each count as one character and come back whole. Up to 200,000 characters.

Result

Start typing and the result appears here. No button needed.

THE LITTLE DETAILS

Reverse text, without the extra steps.

Reverse pasted text three ways: character by character, by swapping the word order in each line, or by flipping the order of the lines themselves. Characters are counted the way a person counts them, so a family emoji, a flag, and an accented letter each come back whole instead of scattering into their parts.

How to use this tool

  1. 1Paste or type the text. The result appears immediately.
  2. 2Choose whether to reverse characters, the word order, or the line order.
  3. 3Read the result, then select Copy result.

When Reverse text is the right tool

  • A puzzle, a riddle, or a party game needs a line written backwards, and the emoji in it has to stay recognisable.
  • A log file reads oldest first and you want the newest entries at the top without re-sorting by timestamp.
  • A sentence needs its word order flipped to check a translation or to test a text layout.
  • You are checking whether a string is a palindrome and want to see both directions side by side.

A character is what you see, not what is stored

Reversing a string by splitting it into code points is the standard shortcut, and it breaks on exactly the text people paste. A family emoji is four faces joined by zero-width joiners; a flag is two regional indicator letters; é may be an e followed by a combining accent. Reversed naively, the family becomes a different family in the wrong order, the flag becomes another country, and the accent lands on the previous letter. Grouping by grapheme first — what a reader calls a character — makes each of those move as one piece.

Three different reversals, three different jobs

Reversing characters rewrites each line back to front and is what "backwards text" usually means. Reversing word order keeps every word spelled correctly but swaps their positions, which is the one to use when checking a translation or a layout. Reversing line order leaves each line exactly as it is and flips the document, which is how a log that reads oldest-first becomes newest-first without touching any timestamp. Choosing the wrong one is obvious in the result rather than after pasting.

Right-to-left text is a warning, not a failure

Hebrew and Arabic are stored in the order they are read and displayed right to left by the browser. Reversing changes the stored order, so what appears on screen is not the mirror image of what you started with, and a mixed sentence can look rearranged in ways that surprise. The tool does the reversal you asked for and tells you when the text contains those characters, because the result needs a human to confirm it reads as intended.

GOOD TO KNOW

A few quick answers.

Yes, in any current browser. A family emoji is several code points joined together, and a flag is a pair of regional indicators; reversing them naively scrambles them into different symbols. This groups each visible character first, so it moves as a unit — and it warns you if the browser is too old to do that grouping.

Text can store é either as one character or as e followed by a combining accent. The naive reversal moves that accent onto the wrong letter. Grouping by visible character keeps the accent with the letter it belongs to, so both spellings survive the round trip unchanged.

Characters and words are reversed inside each line, which is what keeps a list a list. To flip the document itself, choose Line order: the first line becomes the last, and no line's content changes. Running both is two passes, in whichever order suits you.

For characters and for line order, yes — both are their own inverse, and the result is identical to the input including whitespace and line endings. Reversing word order twice also restores the original words, though runs of whitespace stay in their original positions rather than travelling with the words.

They stay where they are. The words move through the existing gaps, so indentation at the start of a line remains indentation, and a double space between two words stays a double space in that position. That keeps aligned text aligned instead of collapsing it into single spaces.

Grouping emoji and accents into single characters uses Intl.Segmenter, which every current browser has. If it is missing, the reversal falls back to code points and some characters can come apart, so a warning appears rather than letting you copy a result that quietly mangles a symbol.

Back to all tools