Choose whether to reverse characters, words, sentences or lines and the result appears at once
Put your text in the original box above, pick a unit on the left (above the box on a phone) and the reversed text shows up in the result box immediately. Have a great day today reversed by characters becomes yadot yad taerg a evaH, and reversed by words it becomes today day great a Have. Change the scope to per line to keep every line where it is and reverse only inside it, or to per word to keep the word order and reverse only the letters inside each word.
The order map between the two boxes draws a line from each unit at the start of your text to the place where it lands in the result. The first unit is highlighted in orange, so you can see it jump to the very end when the whole text is reversed, or to the end of its own line when you reverse per line. Under the result the tool also says whether the text reads the same backwards, and you can send the result back to the original box to reverse it again by a different unit.
When a text reverser is useful
- Decorating a username or bio: reversing a name or a short phrase by characters gives a playful spelling that is hard to read at a glance. Switching an English phrase to upside down turns it into something like ʇxǝʇ that you have to rotate your phone to read, and you can paste it straight into a profile or post.
- Building or checking palindromes and wordplay: when you write a sentence such as "Never odd or even", the result box and the palindrome check let you adjust it one letter at a time. Spaces and punctuation are ignored in the comparison, so different spacing does not change the verdict.
- Flipping the order of lists and logs: notes, chat exports and work logs that pile up oldest first become newest first when you choose lines as the unit. Each line keeps its content and the last line moves to the top, which is a handy clean-up before pasting into a table or spreadsheet.
- Making word order exercises: a sentence with its words reversed is a classic puzzle for language practice. With the per line scope, a list of one sentence per line becomes a whole worksheet in one step.
- Checking string reversal in code: reversing a string in a program often breaks emoji and flags. This tool reverses by visible character, so you can compare it side by side with the output of your own function and see exactly where it splits something apart.
- Reordering sentences in a paragraph: to try the conclusion first, choose sentences as the unit. The ending punctuation moves together with each sentence and the line breaks stay where they were.
How to use it
- Type or paste your text into the original box. The example chips above it load a sample together with a matching unit and scope.
- Choose the unit. A character is one visible character, a word is what sits between spaces, punctuation and symbols such as $ or +, a sentence ends with a period, question mark or exclamation mark, and a line is whatever sits between two line breaks.
- Choose the scope. All reverses everything like a mirror, per line keeps the line order and reverses inside each line, and per word keeps the word order and reverses inside each word. Scopes that do not fit the chosen unit are dimmed.
- If needed, tidy the spaces. Single turns runs of spaces and tabs into one space and trims the start and end of every line, while Remove deletes every space and tab and keeps only the line breaks.
- Read the note above the result to confirm how it was reversed, and look at the order map to see where the units went. Copy the whole result with the copy button or download it with save .txt.
- To combine two methods, press use result as input and then pick another unit. For example, with "one two three", which is split only by spaces, reversing the word order and then the characters of each word gives "eerht owt eno", the same as reversing all characters at once. With punctuation the results differ, because punctuation stays in place.
How the result changes with unit and scope
The same text gives very different results depending on what you reverse and how far the reversal reaches. The results in this table were produced by this tool, and line breaks are shown as separate lines.
| Unit | Scope | Original | Result |
|---|---|---|---|
| Characters | All | Sunny today Rain tomorrow | worromot niaR yadot ynnuS |
| Characters | Per line | Sunny today Rain tomorrow | yadot ynnuS worromot niaR |
| Characters | Per word | Sunny today Rain tomorrow | ynnuS yadot niaR worromot |
| Words | All | Sunny today Rain tomorrow | tomorrow Rain today Sunny |
| Words | Per line | Sunny today Rain tomorrow | today Sunny tomorrow Rain |
| Sentences | All | I ate lunch. I took a walk. I fell asleep. | I fell asleep. I took a walk. I ate lunch. |
| Sentences | Per line | I ate lunch. I took a walk. I fell asleep. | I took a walk. I ate lunch. I fell asleep. |
| Lines | All | 1. Groceries 2. Laundry 3. Workout | 3. Workout 2. Laundry 1. Groceries |
| Upside down | All | Good luck! 2026 | 9ᘔ0ᘔ ¡ʞɔnl poo⅁ |
| Upside down | Per line | Good luck! 2026 | ¡ʞɔnl poo⅁ 9ᘔ0ᘔ |
Characters with the whole text reverses like a mirror, so the order of the lines flips as well. To keep the lines in place choose per line, and to keep every word in place choose per word. Upside down with the whole text is a 180 degree turn, so the last line ends up on top, while upside down per line turns each line separately.
Why emoji, flags and accents do not fall apart
A computer stores text as a list of numbers called code points, and one character on screen is often made of several of them. If you simply reverse those numbers, the groups break up and you get something else. This tool first splits the text into grapheme clusters as defined by Unicode UAX #29, which means what a reader sees as one character, and only then reverses.
| Original | Characters visible / code points | Code points reversed | This tool |
|---|---|---|---|
| ab👍🏽 | 3 / 4 | 🏽👍ba (the skin tone mark breaks off) | 👍🏽ba |
| family👨👩👧 | 7 / 11 | 👧👩👨ylimaf (the family members change places) | 👨👩👧ylimaf |
| café (e + combining accent) | 4 / 5 | the accent comes loose and lands at the very start | éfac |
| 🇫🇷🇯🇵 | 2 / 4 | 🇵🇯🇷🇫 (PJ and RF, neither is a real flag) | 🇯🇵🇫🇷 |
| über (u + combining diaeresis) | 4 / 5 | the two dots move onto the b | rebü |
A flag emoji is a pair of regional indicator letters, a family emoji is several person emoji joined by zero width joiners (ZWJ), and an accented letter can be a base letter followed by a combining mark. In all three cases this tool moves the group as one character.
The upside-down letter table
The upside-down unit reverses the order and also swaps each character for a Unicode character that looks like it turned by 180 degrees. About half of the lowercase letters that change become Unicode characters whose names contain TURNED (for example U+0250 ɐ, U+0279 ɹ and U+0287 ʇ). b, d, n, p, q and u simply swap with the letter they turn into, and the remaining letters and digits use look-alike characters from other blocks or scripts. Read each row as the left character becoming the right one; pasting the right-hand character back turns it into the left-hand one.
| Type | Original | Turned |
|---|---|---|
| Lowercase | a b c d e f g h i j k l m n o p q r s t u v w x y z | ɐ q ɔ p ǝ ɟ ƃ ɥ ᴉ ɾ ʞ l ɯ u o d b ɹ s ʇ n ʌ ʍ x ʎ z |
| Uppercase | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z | ∀ ꓭ Ɔ ꓷ Ǝ Ⅎ ⅁ H I ſ ꓘ ⅂ W N O Ԁ Ό ꓤ S ꓕ ∩ Λ M X ⅄ Z |
| Digits | 0 1 2 3 4 5 6 7 8 9 | 0 Ɩ ᘔ Ɛ ㄣ ϛ 9 ㄥ 8 6 |
| Punctuation | . , ? ! ( ) [ ] { } < > _ & | ˙ ' ¿ ¡ ) ( ] [ } { > < ‾ ⅋ |
An accented letter such as á, ñ or ü loses its accent and only the base letter is turned, and scripts without a turned form, such as Korean, Japanese kana and Chinese characters, stay as they are. The result is text, not a picture, so it can be pasted into messages and social posts. The Lisu letters used for capital B, D, K, R and T may show as empty boxes on devices whose fonts do not include them.
How palindromes are judged
A palindrome reads the same forwards and backwards. The check keeps only letters and digits, treats upper and lower case, accents and Japanese voiced marks as the same letter, and compares the two ends moving inwards. Spaces, punctuation, symbols and emoji are left out, and the verdict appears only when at least two letters or digits remain.
| Text | Letters compared | Verdict |
|---|---|---|
| racecar | 7 | Palindrome |
| A man, a plan, a canal: Panama | 21 | Palindrome |
| Was it a car or a cat I saw? | 19 | Palindrome |
| Never odd or even | 14 | Palindrome |
| No lemon, no melon | 14 | Palindrome |
| Have a great day today | 18 | Not a palindrome |
Because spacing and punctuation do not count, "Was it a car or a cat I saw?" is a palindrome even though the question mark ends up at the front when you reverse the characters. A phrase that only reads the same when its words are reversed, rather than its letters, is not treated as a palindrome.
Common points of confusion
- Mixing up word order and character order: "I read a book today" reversed by words is "today book a read I", and reversed by characters it is "yadot koob a daer I". Pick characters for playful backwards text and words for word order practice.
- Punctuation stays put when reversing words: "Hello, world! How are you?" becomes "you, are! How world Hello?", because commas, periods and question marks stay in their original positions. To move the punctuation along with the words, use sentences instead.
- Brackets and quotes look backwards: reversing "(hello)" by characters gives ")olleh(". This is the exact reversal of the characters, so fix the bracket direction by hand if you need it. With the upside-down unit, brackets are turned too and face the right way.
- A sentence breaks after an abbreviation: reversing "Mr. Kim saw 3.14. He left." by sentences gives "He left. Kim saw 3.14. Mr.". The default Unicode rules treat a period followed by a space and a capital letter as a sentence end, while a number such as 3.14 is not split.
- Invisible spaces at the end of a line: text copied from other places often has spaces at the line end, and reversing by characters moves them to the start of the line. Choose Single for the spaces to trim the start and end of every line.
- Expecting two reversals to restore the text: reversing twice with the same unit and scope usually returns the original. Spaces removed by the space options do not come back, accented letters turned upside down come back as plain letters (á → a), and if the last sentence has no ending punctuation, as in "First one. Second one", the first reversal gives "Second one First one.", which reads as a single sentence, so a second reversal changes nothing.
Limits of this tool
- Splitting into characters, words and sentences uses the browser's Intl.Segmenter. In very old browsers without it, the tool falls back to code points and simple rules, so emoji and accents may be split.
- Sentence splitting follows the default Unicode rules, so after abbreviations such as "Mr." and "Dr." or for a sentence without a final period, the boundary may differ from what a person would choose.
- For languages written without spaces, such as Japanese, Chinese and Thai, word boundaries come from a dictionary inside the browser and can differ slightly between browsers.
- Upside-down letters exist only for the Latin alphabet, digits and some punctuation. The replacement characters only look alike, so search and spell checkers do not recognize the original word.
- Right-to-left scripts such as Arabic and Hebrew are reversed in stored order, so the result can feel different from what you see on screen.
- The original box takes up to 100,000 characters (counted in code units by the input field). The order map draws only the first few units, while the result box shows everything.
- Your text is processed inside this browser only. It is not sent to a server and not kept in the address or in storage. Copying works only on a secure (HTTPS) page, and if it is blocked, select the result and copy it by hand.
Sources
As of: the standards below were checked on October 22, 2026 for character, word and sentence boundaries, normalization and the character names of the turned letters. The values in the tables were computed by this page's own tool in the same way.
- 01Unicode Standard Annex #29 — Unicode Text SegmentationRev. 49 (Unicode 18.0.0, 2026-09-01): a grapheme cluster is a user-perceived character; the default sentence rules cannot tell abbreviations such as 'Mr. Jones'
- 02Unicode Standard Annex #15 — Unicode Normalization FormsRev. 58 (Unicode 18.0.0, 2026-08-12): NFD is canonical decomposition; Hangul syllables are decomposed and composed algorithmically
- 03Unicode Technical Standard #51 — Unicode EmojiRev. 31 (Emoji 18.0): definition of emoji ZWJ sequences joined by zero width joiners
- 04Unicode Code Charts — IPA Extensions (U+0250–U+02AF)Turned letters such as U+0250 TURNED A, U+0279 TURNED R and U+0287 TURNED T
- 05MDN Web Docs — Intl.Segmenter() constructorGranularity grapheme, word and sentence split text into character, word and sentence boundaries
- 06MDN Web Docs — Clipboard: writeText() methodWrites to the clipboard only in a secure context (HTTPS); NotAllowedError if not permitted
Frequently asked questions
How do I reverse text backwards?
Put your text in the original box, set the unit to characters and the scope to whole text, and the reversed text appears in the result box at once. "Have a great day today" becomes "yadot yad taerg a evaH". The copy button copies the whole result, and save .txt downloads it as a file.
What is the difference between reversing characters per line and reversing the order of lines?
Characters with the per line scope keeps every line in its place and reverses the characters inside each line. The lines unit keeps the content of every line and only changes the order so the last line comes first. Use lines to turn a list into newest-first order, and characters per line for mirror-like writing.
Where do commas and periods go when I reverse the word order?
Punctuation and spaces stay where they were and only the words are filled in backwards. "Hello, world!" becomes "world, Hello!", and the line breaks stay put, so a multi-line text keeps its shape. To move the punctuation together with the words, choose sentences, where the final period, question mark or exclamation mark travels with its sentence.
Does it reverse emoji and accented letters correctly?
Yes. The tool reverses what you see as one character, so a family emoji like 👨👩👧, a skin tone emoji like 👍🏽, a flag like 🇫🇷, an e with a combining accent and a decomposed Korean syllable are not split. Tools that reverse code points turn a flag pair into different letters and leave the skin tone mark behind. In a very old browser without grapheme splitting, the tool falls back to code points.
How do I make upside-down text like ʇxǝʇ?
Choose upside down as the unit. The tool reverses the order and swaps English letters, digits and some punctuation for characters that look turned by 180 degrees. "Hello World!" becomes "¡plɹoM ollǝH", and if you turn your phone upside down it reads like the original. Korean, Japanese kana and Chinese characters have no turned form, so they stay as they are and a note under the result tells you how many were left. Feeding the result back in with upside down restores the original text, except that accented letters come back without their accents (á → a).
How do I mirror text, like a reflection in a mirror?
Text you can copy and paste cannot be truly mirrored, because left-right flipped Unicode characters exist only for a few Latin letters, so the tool does not pretend to produce them. To reverse only the reading order, reverse by characters. To flip the shapes left to right, turn the text into an image and use the Rotate & Flip Image tool to flip it horizontally.
How does the palindrome check work?
It keeps only letters and digits, drops spaces, punctuation and symbols, treats case and accents (and Japanese voiced marks) as the same letter, and compares the two ends moving inwards. That is why "A man, a plan, a canal: Panama" and "Was it a car or a cat I saw?" both count as palindromes. The verdict is shown only when at least two letters or digits are compared.
Is my text sent to a server?
No. Reversing, the palindrome check, copying and saving as .txt all run inside the browser you are using. Your text is not sent to a server and not kept in the address or in storage, and reloading the page brings back the first example.