Reverse Text
Reverse text in your browser. Flip characters, reverse word order, or reverse line order. Grapheme-aware so emoji and accents stay intact.
Flip your text in three ways
Reverse by characters, by words within each line, or by line order. Grapheme-aware so emoji and accented characters stay intact.
Hello, world!
!dlrow ,olleH
What you'll use this for
Puzzles, palindrome checks, CTF challenges, reverse-order content rewrites.
Palindrome checks
Compare reversed text to the original to verify palindromes — useful for puzzles and tests.
Puzzles & games
Crosswords, anagram hunts, word puzzles — flip a word to see it from a new angle.
CTF challenges
Reversed strings are a common low-difficulty CTF transformation — solve them instantly.
Line-order flip
Flip a log or list so the most recent (or last) line comes first — like piping through tac.
How to reverse text
Paste your text
Drop it into the left editor. Any text works — one line or many.
Pick a reverse mode
Characters reverses character by character. Words reverses word order within each line. Lines reverses the order of lines.
Click Reverse
Or leave auto-reverse on for live updates. Runs locally — no upload.
Copy or download
Save the result as .txt or copy to clipboard.
Frequently asked questions
Character reversal flips UTF-16 code units, which can break emoji and accented characters that are made of multiple code units. Grapheme-aware reversal flips visible characters as a whole, so emoji and accents stay intact.
With grapheme-aware mode on, emoji are preserved as whole symbols. Without it, multi-codepoint emoji (like flags 🇨🇦 or family emoji 👨👩👧) may become garbled — their internal joiners come apart.
Yes. No signup, no limits, no ads. Runs entirely in your browser.
Word reverse flips the order of words within each line while preserving the line breaks. "Hello world" becomes "world Hello", but a multi-line input keeps each line on its own line.
Palindrome checks, puzzles, CTF challenges, flipping a log's line order so the latest appears first, or transforming text for creative effect.
About reversing text
"Reversing" a string sounds trivial, but JavaScript's str.split('').reverse().join('') trick has a subtle bug: it operates on UTF-16 code units, not visible characters. Multi-codepoint emoji and combining accents come apart.
The three reversal modes
- Characters — flips the order of characters. With grapheme-aware mode on, emoji and accented characters stay intact.
- Words — flips the order of words within each line. Whitespace and line breaks are preserved.
- Lines — flips the order of lines. Like piping through
tacon Unix.
Grapheme-aware mode
Grapheme-aware reversal uses Array.from(text) which iterates over code points rather than UTF-16 code units. That handles surrogate-pair emoji (✨, 🎉, etc.) correctly. ZWJ-joined sequences (family emoji, profession emoji with skin tone) are still split — for those, a true grapheme cluster iterator (like Intl.Segmenter) would be needed.