Reverse Text

Reverse characters, words or line order in any text.

What this tool does

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.

The three modes

ModeInputOutput
Charactershello worlddlrow olleh
Wordshello worldworld hello
Linesone / two / threethree / 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.

Why naive reversal breaks

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.

Right-to-left text

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.

What people use it for

A note on obfuscation

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.

Runs entirely in your browser

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.

Frequently asked questions

Why do emoji break in some text reversers?

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.

Can I reverse the order of words instead of characters?

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".

Does this work for Arabic and Hebrew?

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.

How do I check whether something is a palindrome?

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.

Is my text sent anywhere?

No. Reversal happens entirely in your browser using JavaScript. Nothing you paste leaves your device.

🔗 Related tools

🔤Case Converter📄Lorem Ipsum🧹Remove Duplicate Lines🔗Slug Generator🔠Sort Text🔢Word Counter