Text Reverser
Reverse text per character, per word, per line. Mirror, upside-down (Unicode flip), ROT13 cipher. Batch process lines. Copy. 100% offline.
About this tool
Six text transformations in one tool. "Reverse chars" flips every character (abc → cba). "Reverse words" flips the order of words but keeps characters intact within each word (hello world → world hello). "Reverse lines" flips the order of lines in a multi-line text. "Mirror" appends the reverse of the input to the original (abc → abccba). "Upside-down" uses a Unicode flip table — a becomes ɐ, b becomes q, e becomes ǝ, A becomes ∀, B becomes Ɓ, digits and punctuation all flip too. "ROT13" is the classic Caesar cipher (a ↔ n, A ↔ N, digits untouched). Toggle "Process each line separately" to apply the transform per line and preserve the line count — useful for batch log scrubbing or per-line ROT13. The Swap button moves output back to input so you can chain transformations. Everything runs locally with no API calls.
Details
- Category
- text
- Version
- 1.0.0
- Size
- 12 KB
- Updated
- Jun 2026
Frequently Asked Questions
How does upside-down text actually work?
It uses Unicode characters that visually mirror their Latin counterparts. a → ɐ (U+0250), b → q (U+0071 in this context), c → ɔ (U+0254), d → p (U+0070), and so on. The full table covers lowercase a-z, uppercase A-Z, digits 0-9, and common punctuation like parentheses, brackets, exclamation and question marks. After flipping, the result is character-reversed so the last character comes first, which is what your eye expects for upside-down text. Characters not in the table (emoji, CJK, accented Latin) pass through unchanged, so the output can look mixed.
Is ROT13 a real cipher?
Yes, but a very weak one. ROT13 shifts each letter 13 positions in the alphabet — a becomes n, b becomes o, and so on. Because 13 is exactly half of 26, applying ROT13 twice returns the original (it is its own inverse). It is commonly used on Usenet and in puzzle contexts to hide spoilers, punchlines, or off-topic jokes from casual readers. It provides zero security — any 5-year-old with frequency analysis can break it. Do not use it for anything you actually need to keep secret; use AES or similar for that.
What does "process each line separately" do?
It splits the input on newlines, applies the transformation to each line independently, and joins the results with newlines. Without it, the transform is applied to the whole input as a single string, which means reverse-lines would just reverse the line order (useful) but reverse-chars would also reverse the newlines (the entire text including line breaks becomes one reversed block). With "separate" on, you can ROT13 or flip each line individually — handy for batch processing a list of pre-formatted strings, CSV cells, or log lines.
How does the swap button work?
Swap moves the current output to the input box and the previous input to the output box, then re-runs the transformation. The counts and toast update. Use it to chain transforms: reverse chars → swap → ROT13 → swap → reverse words. Or to keep applying different transforms iteratively to the same source text. The state is not saved across page reloads — the input and output revert to whatever you last typed in the input field, and output regenerates on the next render.
Is my text private?
Yes. All six transforms are pure string functions inlined in the HTML. There are no network calls, no API lookups, no CDN scripts. The Unicode flip table is a static object literal in the source. You can flip secret messages, encode spoilers, or test ROT13 puzzles without any data being transmitted.