Reverse characters, words or line order in any text.
It reverses text — by characters, by words, or by lines — and it does so correctly for Unicode, which is less trivial than it sounds. Reversing a string is the standard example of a task that looks like a one-liner and turns out to have real depth once you leave plain ASCII.
| Mode | Input | Output |
|---|---|---|
| Characters | hello world | dlrow olleh |
| Words | hello world | world hello |
| Lines | one / two / three | three / two / one |
Word reversal keeps each word intact and reverses their order, which is what you want for reordering a list. Line reversal is useful for flipping chronological logs, changelogs or any file where the newest entry sits at the bottom.
The obvious approach — split a string into its code units and reverse the array — produces mangled output for a large fraction of the world's text.
The correct unit to reverse is the grapheme cluster — what a reader perceives as one character — rather than the code unit or even the code point. This tool works at that level, so emoji, accents and joined sequences survive intact.
Arabic and Hebrew are written right to left, but they are stored in logical order — the order you would read them aloud. The browser handles the visual direction. This means reversing Arabic text does not produce readable Arabic backwards; it produces logically reversed text that the display engine then lays out, usually to confusing effect. If you want the visual appearance of reversed text in an RTL script, direction is a rendering property, not something to achieve by reordering characters.
b and d do not become each other by reordering.Reversed text is sometimes used to slip past keyword filters or to hide content from casual readers. It offers no real protection — reversing is trivially undone, as this page demonstrates — and moderation systems normalise text before matching in any case. Treat it as a novelty, not a technique.
The reversal happens locally in JavaScript. Nothing is uploaded, so pasting confidential text carries no transmission risk. Very long inputs are handled without difficulty, since the operation is linear in the length of the text.
Because emoji are often stored as multiple code units, and complex ones such as family or skin-tone emoji are several code points joined by zero-width joiners. Reversing at the code-unit level splits them apart. This tool reverses whole grapheme clusters, so they stay intact.
Yes, that is one of the modes. Word mode keeps each word spelled correctly and reverses their order, so "hello world" becomes "world hello" rather than "dlrow olleh".
It reverses the logical character order, but that is rarely what you want. Right-to-left scripts are stored in reading order and displayed right to left by the browser, so visual direction is a rendering matter rather than a reordering one.
Reverse it and compare with the original. For a proper check, first strip punctuation and spaces and convert to a single case — otherwise "A man, a plan, a canal: Panama" would fail despite being a palindrome.
No. Reversal happens entirely in your browser using JavaScript. Nothing you paste leaves your device.