Updated · Built and checked by the PlinzoTools team, formulas tested against published sources
Reverse any text, correctly handling multi-byte characters like emoji.
!dlroW ,olleHThis tool reverses text character by character. Unlike a naive reverse that just flips an array of raw UTF-16 code units, it uses Unicode-aware iteration, so multi-code-unit characters like emoji stay intact instead of corrupting into broken symbols.
Enter any text. The reversed version appears instantly.
Many emoji are represented internally by 2 UTF-16 "surrogate pair" code units. A naive character-by-character reverse (using a plain string index) can split that pair apart, corrupting the emoji into two broken symbols. This tool iterates using Array.from(), which correctly groups surrogate pairs as single characters before reversing.
For other string manipulation utilities, see the Text Line Sorter or Find and Replace Tool.
The tool splits your text into Unicode code points, reverses their order, and joins them back together. The whole input is treated as one string, including line breaks. That means a two-line input has its lines swapped as well as the letters flipped inside each one. For example, "abc" newline "def" becomes "fed" newline "cba": the last character comes first, so the line break ends up between the two reversed lines, and the original second line now appears first. If you want each line reversed in place, process one line at a time.
Iterating by code point solves the surrogate-pair problem, but it is not the same as reversing what a reader sees as characters. Some visible symbols are built from several code points: an accented letter written as a base letter plus a combining mark, a flag made of two regional indicator symbols, or an emoji with a skin-tone modifier or joiner sequence. After reversal, a combining mark can end up attached to a different letter, and a multi-part emoji can fall apart into its pieces. If you are working with text in scripts that use combining marks, or with complex emoji, inspect the output rather than assuming it is correct. Text written right to left, such as Arabic or Hebrew, is also reversed in memory order, which may not produce something meaningful to a reader.
To test a phrase, first strip spaces and punctuation and normalise the case, then reverse and compare. The reverser does not do that cleanup for you, so "A man, a plan, a canal: Panama" will not read the same reversed until you remove the punctuation and spaces and lowercase it.
The tool is not encryption. Reversal offers no security, and anyone can reverse it back. It also does not change how characters are drawn, so it produces backwards order, not mirror-image glyphs.
No -- it uses Unicode-code-point-aware iteration specifically to avoid the common bug where naive reversal breaks multi-code-unit characters like many emoji.
Yes -- reverse the text and compare it to the original (ignoring case/spacing if needed) to check for a palindrome.
Just characters -- "Hello World" reverses to "dlroW olleH", not "World Hello"; for reversing word order instead, you'd need a different word-splitting approach.
Yes. Because it reverses by code point, applying it twice restores your exact input, including line breaks.
If the accent is stored as a separate combining mark, it is reversed as its own character and can land on the neighbouring letter. Text that uses precomposed accented letters is not affected.
No. The entire input is reversed as one string, so line order flips too. Reverse one line at a time if you need per-line results.
Reference: MDN Web Docs