Skip to main content

Free String Reverser

Reverse text character by character, reverse word order, flip each line, or reverse line order. Includes palindrome detection.

Works offline once loaded
Not a palindrome
Reversed
!dlroW ,olleH
13 characters2 words1 lines

Common uses

  • Check If Text Is a PalindromeReverse text and compare to detect palindromes β€” words, phrases, or sentences that read the same forwards and backwards.
  • Reverse Text for Fun and Social MediaCreate backwards text, reversed messages, and mirrored captions for memes and social posts.
  • Reverse Strings for Coding PracticeVerify your string reversal algorithms and test edge cases with emoji, Unicode, and multi-byte characters.
  • Reverse Word Order in SentencesFlip the word order of sentences, titles, or lists β€” useful for writing exercises and language learning.
  • Reverse the Order of LinesFlip a list or multi-line text upside down β€” last line becomes first, useful for log files and data processing.

How It Works

This tool reverses text entirely in your browser using zero external dependencies β€” the core logic is plain JavaScript, with one notable detail: it uses the browser's built-in Intl.Segmenter API (where available) to split text into grapheme clusters before reversing, so multi-codepoint characters like emoji sequences (πŸ‘¨β€πŸ‘©β€πŸ‘§) and accented letters (Γ©) survive intact instead of being torn apart.

  1. 1
    Mode selection
    Six reversal modes are available: reverse every character, reverse letters inside each word (keeping word order), reverse word order, reverse characters per line, reverse line order, or flip the whole string upside-down. The chosen mode is applied instantly as you type β€” there is no submit step.
  2. 2
    Grapheme-aware splitting via Intl.Segmenter
    Before reversing characters, the text is split using Intl.Segmenter with granularity set to 'grapheme'. This gives user-perceived characters rather than raw Unicode code points, so a flag emoji or a base-letter-plus-combining-mark pair stays together when the array is reversed. Browsers without Intl.Segmenter fall back to spread-operator iteration.
  3. 3
    Upside-down mode uses a lookup table
    The 'upside-down' mode maps each character through a hardcoded 100-entry lookup table of Unicode lookalikes (for example, 'e' becomes 'ǝ', '?' becomes '¿'), then reverses the grapheme array so the result reads correctly when physically rotated 180 degrees.
  4. 4
    Output and palindrome detection
    The reversed result updates live via React's useMemo hook. In character-reversal mode the tool also checks whether the original input is a palindrome, using a Unicode-aware letter/digit filter (\p{L}\p{N}) before comparing. Clicking Copy writes the output to the clipboard via the standard navigator.clipboard API.

Related Tools

Frequently Asked Questions