What is the difference between reversing characters and reversing words?
Character reverse flips every character, so "Hello world" becomes "dlrow olleH". Word reverse keeps each word forward but swaps the word order, so "Hello world" becomes "world Hello". Choose the one that matches what you actually need — character reverse is great for puzzles and palindromes; word reverse is more useful for reformatting sentences.
Why does the tool offer a "graphemes" reverse mode?
Plain character reverse flips every code unit, which can break compound emoji that use zero-width joiners (👨👩👧 = 5 code points). Grapheme-aware reverse uses Intl.Segmenter to identify what humans perceive as one character — emoji families, flag sequences, accented letters with combining marks — and keeps each grapheme intact when reversing.
How does the palindrome detector work?
The detector lowercases the input, strips everything that is not a letter or digit, then checks whether the result reads the same forward and backward. So "A man, a plan, a canal: Panama!" is detected as a palindrome because the normalised string ("amanaplanacanalpanama") is symmetrical. The check appears under the result whenever the input is non-empty.
Why does emoji reverse sometimes produce odd glyphs?
Two reasons. First, plain character reverse splits surrogate pairs (the higher and lower halves of a 4-byte emoji). The OpenFormatter character reverse uses Array.from to keep surrogate pairs together, so single-codepoint emoji always stay intact. Second, ZWJ sequences (👨👩👧) are several joined code points; only the grapheme-aware mode keeps these clusters together.
Can I reverse a multi-line text without breaking line content?
Yes — use "Reverse line order". Lines come out last-first while each line's content stays the same. Use "Reverse words per line" or "Reverse chars per line" if you want to apply the reversal inside each line independently instead of globally.
What are real uses for reversing text?
Common use cases include: testing palindromes for puzzles or interview prep, generating reversed strings for unique IDs or hash inputs, debugging right-to-left rendering issues, creating obfuscated text for educational demos, reformatting timestamps from "DD-MM-YYYY" to "YYYY-MM-DD" by reversing parts, and producing inverted file paths for tree visualisations.
Is the text uploaded?
No. Every reverse mode runs in JavaScript inside your browser. Open DevTools → Network and confirm: zero requests on every keystroke. Safe for any text you cannot paste into a remote tool.
Does reversing reverse RTL text correctly?
Logical reversal is performed on the underlying code points or graphemes — what gets stored, not what gets rendered. RTL scripts (Arabic, Hebrew) display right-to-left by the bidi algorithm regardless of storage order, so a "reversed" Arabic string is rendered in the opposite logical sequence. For most use cases this is the intended behaviour; for RTL-correct visual reversal you usually want a different transformation.