Reverse Text
Flip text without breaking joined emoji or accented letters.
How to reverse text
- Type or paste text into the first box.
- Choose whether to reverse characters, characters inside each line, word order or line order.
- Review the live result so punctuation and line breaks still suit the task.
- Copy or download the result as plain text.
Choose the right mode
- Characters
- Reverses every user-perceived character in the complete block, including the position of line breaks.
- Characters per line
- Keeps lines in their original order and reverses the characters inside each line.
- Word order
- Keeps each line and its whitespace pattern, but moves the last whitespace-separated word to the front.
- Line order
- Moves the last line to the top while leaving the characters inside every line unchanged.
- Unicode-safe
- Joined emoji and combining accents stay together as user-perceived characters where the browser supports international segmentation.
Worked reversal examples
- Check a palindrome
- Use Characters on a short word or phrase, then compare the output with the input. Spaces and punctuation are reversed too, so normalize them separately only if the exercise requires it.
- Mirror several labels
- Use Characters per line when each row is an independent label. The row order stays stable while every label is reversed.
- Reorder a phrase
- Use Word order on “one two three” to get “three two one.” Letters inside the words do not change.
- Invert a pasted list
- Use Line order to place the final row first without sorting or changing the row contents.
Why Unicode-safe reversal matters
JavaScript strings are built from UTF-16 code units, but a visible character can contain several units or several Unicode code points. A family emoji, flag or accented letter assembled with a combining mark can break if software reverses those pieces individually. This tool groups grapheme clusters first and then reverses the groups.
Grapheme handling protects the encoded sequence; it does not guarantee that every app uses the same font or shaping engine. Always check the pasted result when joined emoji or complex scripts are important.
Word and line modes preserve different structure
Word order works separately inside each line and preserves the existing whitespace slots. It does not perform linguistic word analysis or move punctuation intelligently. Line order reverses physical rows and retains their text; it is not an alphabetical or numerical sort.
Bidirectional and complex scripts
Arabic, Hebrew and mixed left-to-right/right-to-left text are displayed using the Unicode bidirectional algorithm. The stored character order can reverse correctly while the visual result still looks unexpected. Do not use a simple reversal when language-aware rewriting, translation or correct script shaping is required.
Practical and responsible use
Reversal can help with puzzles, mirrored labels, test data and quickly changing list order. It should not be used to disguise unsafe links, evade moderation or make essential information deliberately inaccessible. Keep an ordinary-text version whenever other people need to understand the result.
Limits and privacy
The input is limited to 100,000 characters and stays in this browser. Nothing is uploaded or saved by the tool. Reversal is deterministic and does not correct spelling, translate text or interpret meaning.
Common questions
Why not reverse individual UTF-16 units?
Doing that can split emoji, surrogate pairs and combining marks. This tool reverses grapheme clusters instead.
Can I keep my lines in the same order?
Yes. Choose “Characters per line” or “Word order” to transform each row without moving the line breaks.
Does Word order understand punctuation?
No. It reverses whitespace-separated tokens. Punctuation attached to a word moves with that token, so review the result before using it.
Will Line order sort my list?
No. It simply flips the current row sequence. Use a dedicated sorting tool if the rows must be alphabetical or numerical.
Can I restore the original text?
Applying the same reversal mode to its own output normally restores the original sequence. Keep a separate copy when the text is important.