Text Reverser
Reverse characters, words or lines while keeping emoji intact; import and download TXT locally.
This tool runs entirely in your browser. Your data is never uploaded, never stored, and never leaves your device.
Reverse grapheme clusters, whitespace-separated tokens or complete lines while following explicit spacing rules.
How to use it
- 1Paste or load a UTF-8 TXT file with up to 100,000 UTF-16 code units.
- 2Choose characters, words or lines and press Reverse text.
- 3Review the result, then copy it or download a TXT file.
What happens to your data
Text stays in your browser and is not put in the URL. All modes normalize CRLF and CR line endings to LF.
Last updated October 2026
Reverse text by visible character groups, whitespace-separated words or complete lines. Character mode keeps a family emoji, flag or letter with a combining accent together, which a simple reversal of JavaScript string units can break. Word mode reverses the order of tokens while keeping whitespace separator slots in place. Line mode moves whole lines, including empty ones.
Paste text or load a UTF-8 TXT file, choose a mode and press Reverse text. Review the result, then copy it or download it as UTF-8 text. The tool is useful for text puzzles, rearranging short lists and checking Unicode handling. It changes stored text order; it does not mirror glyph shapes, translate a language or provide encryption.
How it works
Character mode uses the browser’s Intl.Segmenter with grapheme granularity. A grapheme cluster can include several code points, such as a base letter plus a combining mark or an emoji joined with other emoji. Those clusters are reversed as units. The browser’s Unicode implementation determines the exact boundaries, so newly introduced sequences can behave differently across browser versions. A browser without Intl.Segmenter receives an explicit error for character mode.
Words are defined here as runs of non-whitespace characters, not dictionary words or language-specific word boundaries. Punctuation stays attached: ‘one, two!’ becomes ‘two! one,’. Leading and trailing whitespace and each whitespace run between tokens remain in their respective slots. Thus two spaces between tokens remain two spaces even if the tokens have different lengths. Tokens can move across line boundaries; use Lines if the content of each line should remain intact.
Lines mode splits on line breaks, reverses the complete list and rejoins it. A trailing newline represents an empty final line and becomes an empty first line after reversal. In every mode, Windows CRLF and old Mac CR line endings are normalized to LF. The input limit is 100,000 UTF-16 code units, the same units used by JavaScript string length; many emoji use more than one unit. Oversized input is rejected without returning a partial result. Editing the input or mode clears the previous output. Text is processed locally and is not placed in the page URL.
Worked example: reverse words while keeping spacing
- Input
- one two! three
- Result
- three two! one
Words mode keeps the leading spaces, tab-plus-space separator, newline and trailing spaces in their original separator slots.
Common use cases
- Reversing a list while retaining each line’s text
- Creating word-order puzzles without changing punctuation
- Testing emoji and combining-accent handling
- Saving a reversed text sample as a TXT file
Frequently asked questions
Will reversing text break emoji or accents?+
Character mode reverses grapheme clusters, keeping sequences recognized by your browser together, including common joined emoji and combining accents. Recognition depends on the Unicode data in the browser; it is not a guarantee for every future emoji sequence.
What happens to spaces in word mode?+
Every whitespace separator slot stays in place, including tabs, repeated spaces and blank lines. Only the non-whitespace tokens reverse order. Punctuation is part of a token, and words can move between lines.
Why does a newline move to the start in line mode?+
A final newline creates an empty last line. Reversing all lines moves that empty line to the beginning. Empty lines are deliberately preserved rather than discarded.
Does reversing twice always restore the original text?+
Word and line modes restore the input after CRLF and CR have been normalized to LF. Character mode usually does too, but reversing can create new neighboring Unicode combinations that segment differently on the second pass. This is not a reversible encoding format.
Which text files can I load?+
Load a .txt file saved as UTF-8, up to 400,000 bytes and 100,000 decoded UTF-16 code units. Invalid UTF-8 and oversized files are rejected. A UTF-8 byte-order mark is removed during decoding. Selecting a file clears the previous result, and a later edit prevents a slow file read from replacing newer text.
Can this create mirrored or upside-down lettering?+
No. It changes character, token or line order, not the shapes of letters. Right-to-left text may also be displayed according to the browser’s bidirectional text rules, so visual appearance is not a direct map of stored order.
Standards and limitations
Related tools
Text Sorter & Deduplicator
Sort lines alphabetically or numerically and remove duplicates.
Text Diff Checker
Compare two texts side by side. Highlight character, word, or line changes and download a private diff.
Word & Character Counter
Count words, characters, sentences, and paragraphs in your text.
Lorem Ipsum Generator
Generate exact placeholder counts with a repeatable seed and text, HTML or Markdown exports.