Reverse Text
Write text backwards in three ways: every character from last to first, the words of each line in reverse order, or the lines of the whole text from bottom to top. The result appears as you type and is computed in your browser, so nothing you paste is uploaded.
0 characters · 0 words · 0 lines
0 characters · 0 words · 0 lines
Runs entirely in this browser tab. Your text is never uploaded or stored.
What it does
Reverse Text turns text around in one of three ways: every character from last to first (emoji and accented letters stay intact), the words of each line in reverse order, or the lines of the whole text from bottom to top.
stressed
desserts
Three kinds of reversal and what each is for
Characters mode mirrors the whole text: "stressed" becomes "desserts". People use it to check palindromes, to build word puzzles and escape-room clues, to hide a spoiler in plain sight, or to produce the backwards text that a mirror turns readable again, the trick Leonardo da Vinci used in his notebooks, which he wrote right to left in mirror script. A palindrome check works best after removing spaces and punctuation, since "A man, a plan, a canal: Panama" only reads the same backwards once it is reduced to letters.
Words mode keeps every word intact and reverses their order on each line, so "one two three" becomes "three two one". It is handy for flipping a name written as Last First, for language exercises, and for reversing breadcrumbs or paths written with spaces. Lines mode turns a list upside down without touching the lines themselves: a log printed oldest first becomes newest first, a numbered countdown becomes a count-up, and a chat export can be read in reverse chronological order. If you need a real alphabetical or numeric order instead, use Sort Lines.
Why naive reversal breaks emoji and accents
A JavaScript string is a sequence of UTF-16 code units, and many reversers simply flip that sequence. That splits every character outside the Basic Multilingual Plane, such as most emoji, into two halves that no longer form a valid character, and it detaches combining marks: an é typed as the letter e followed by a combining acute accent comes out with the accent sitting on the wrong letter. Flags fail in a more amusing way, because a flag emoji is two regional-indicator letters; the US flag is the letters U and S, and reversing them code by code produces the pair S U instead.
This tool splits text into grapheme clusters with the browser's Intl.Segmenter, the same unit a reader perceives as one character, and reverses those. Family emoji joined with zero-width joiners, skin-tone modifiers, flags and accented letters all survive in one piece. Right-to-left scripts such as Arabic and Hebrew are reversed in storage order too; because the browser displays them right to left, the reversed result appears to run left to right.
Frequently asked questions
- How do I check whether a word is a palindrome?
- Paste it in Characters mode and compare the result with the original. For phrases, remove spaces and punctuation and use one letter case first, because a palindrome check normally ignores them.
- Does reversing text keep emoji in one piece?
- Yes. Text is reversed by grapheme cluster, so an emoji sequence, a flag or a letter with a combining accent moves as one unit instead of being split into broken halves.
- Can I reverse the order of a list without sorting it?
- Choose Lines mode. The last line becomes the first and so on, while each line's own text stays exactly as it was. Blank lines are kept in their mirrored position.
- Is backwards text the same as upside-down or mirrored text?
- No. Reversing only changes the order of ordinary characters. Upside-down text replaces each letter with a different Unicode lookalike, such as ɐ for a, which is a separate transformation.