What this tool does
Reversing text sounds simple: take the last character and put it first. In practice it depends on what you want to turn around. Sometimes you want every letter mirrored, so "Hello" becomes "olleH". Sometimes the words should stay readable and only their order should change. And sometimes you have a list and just want the last line on top. This tool does all of these in one place, and it treats emoji and accented letters with care, which many simple reversers do not.
The five modes
- Reverse text mirrors every character. "Hello, World!" becomes "!dlroW ,olleH". This is what most people mean by writing text backwards.
- Reverse word order keeps each word as it is and swaps their order. "one two three" becomes "three two one". Punctuation stays attached to its word.
- Reverse each word flips the letters inside every word but keeps the words in their places. "one two three" becomes "eno owt eerht".
- Reverse line order turns a list upside down. The last line becomes the first, and each line itself is unchanged. Handy for logs, playlists or a list sorted the wrong way round.
- Reverse each line mirrors the characters of every line but keeps the lines in their order.
Options that change the result
Keep spaces and punctuation in place moves only letters, digits and symbols, while spaces, commas, full stops and other punctuation stay where they were. "Hello, World!" then becomes "dlroW, olleH!", which still looks like a sentence. It works in the character modes.
By default, Reverse text mirrors the whole text, so the last line comes first and every word stays whole. Keep line breaks at their original positions works only in that mode: each line keeps its length and the letters flow backwards across the lines, which can split words, a look some puzzles use. Reverse word order always works line by line, so a poem keeps its shape.
Trim removes spaces and tabs at the ends of every line and blank lines at the start and end before reversing. Without it, a space at the end of a line becomes a space at the start.
Why other tools break emoji and accents
Text in a computer is a list of numbers, and what you see as one character can be several of them. An accented letter can be a plain letter followed by a separate accent mark. A family emoji is several people joined by an invisible character called a zero-width joiner. A flag is two special letters: the flag of Pakistan is the code P K. In JavaScript, most emoji are also stored as two smaller units.
A tool that simply reverses those hidden numbers puts the accent before its letter, splits the family into separate people, and turns P K into K P, which is the flag of North Korea. Often you get broken symbols instead.
This tool reverses grapheme clusters, the units that Unicode defines as one user-perceived character. Your browser splits the text into them with the built-in Intl.Segmenter, and older browsers use a careful fallback. So a thumbs-up with a skin tone, a flag or "é" always moves as one piece, and reversing twice gives back exactly what you started with. The character count under the result uses the same units, so it matches what you see.
Urdu, Arabic and Hindi
Letters in these scripts often carry marks, such as vowel signs, that belong to the letter before them. Because the tool works on whole clusters, every mark stays with its letter. Urdu and Arabic are written right to left, and the boxes show such text in its own direction. Keep in mind that the reversed version of a right-to-left sentence is still stored backwards, so its letters may join differently on screen. That is expected: the text really is reversed.
Palindromes
A palindrome reads the same in both directions, like "racecar" or "Never odd or even". The tool checks this as you type, using a clear rule: only letters and digits count, upper and lower case are the same, and spaces and punctuation are ignored. So "A man, a plan, a canal: Panama" counts. Accents do count, so "é" and "e" are different letters, and you need at least two letters or digits for an answer.
What people use it for
- Puzzles, riddles and secret notes for a game or a class.
- Fun social posts and usernames.
- Checking palindromes for word games.
- Testing software: reversing a string is a classic programming exercise, and the result here shows what a correct, Unicode-aware answer looks like.
- Flipping a list that was saved in the wrong order.
Related tools
To change upper and lower case, use the case converter. To count characters with and without spaces, open the character counter and read when word count or character count matters. To join lines into one block, use Remove Line Breaks.
Privacy
Everything happens in your browser. Your text is not uploaded, saved or tracked, and there is no sign-up. Text is limited to 500,000 characters so the page stays fast. Like every page on this site, this one may show ads from third-party vendors once ads are switched on, and those vendors can use cookies. Read the privacy policy for details.