Reverse text instantly — full string reverse, reverse each word, reverse word order, mirror text, palindrome checker. Free online reverse text tool, no signup.
A free reverse text generator with 6 reversal modes: full string reverse ("Hello" → "olleH"), reverse each word (preserves word order), reverse word order (preserves word spelling), reverse line order (multi-line), Unicode mirror text, and reverse digits only (numbers in-place). Includes a built-in palindrome checker that flags whether your input reads the same forwards and backwards (case- and punctuation-insensitive), with quick example chips like "racecar", "A man a plan a canal Panama". Surrogate-pair safe — handles emoji and multi-codepoint characters correctly. Runs entirely in your browser.
A palindrome is a word, phrase, or sentence that reads the same backwards as forwards. Single words: racecar, level, kayak, radar, civic. Phrases (ignoring spaces and punctuation): "A man, a plan, a canal: Panama", "Was it a car or a cat I saw?", "Madam, I'm Adam", "Eva, Can I See Bees in a Cave?". The longest palindromic English novel is Lawrence Levine's "Dr. Awkward & Olson in Oslo" at 31,594 letters. Try writing your own — the palindrome checker in this tool turns the validation loop instant.
Reversing a string in JavaScript is a classic interview question, and the naive answer (str.split('').reverse().join('')) is wrong. JavaScript strings are UTF-16 internally, and many emoji (😀, 🎉, 🔥) are encoded as surrogate pairs — two UTF-16 code units representing one codepoint. split('') splits at the code-unit level, so reversing a string with emoji corrupts those emoji into broken glyph pairs. The fix is Array.from(str).reverse().join('') — Array.from iterates by Unicode codepoint and keeps surrogate pairs together. This tool uses the correct version, so your emoji-laced text reverses cleanly.
Reverse string flips every character: "Hello World" → "dlroW olleH". Reverse each word keeps word order and word boundaries but flips letters within each word: "Hello World" → "olleH dlroW". Reverse word order keeps words intact but reorders them: "Hello World Today" → "Today World Hello". Choose by what you want preserved — sentence structure (use "reverse word order"), word integrity (use "reverse each word"), or pure reversal (use "reverse string").
Yes — the tool uses Array.from(string) which iterates Unicode codepoints rather than UTF-16 code units. This means emoji (which often span 2 code units), accented characters, and combining diacritics reverse without becoming corrupted "diamond ?" placeholders. The classic naive "string.split('').reverse().join('')" breaks emoji; this tool does not.
It strips all non-alphanumeric characters (spaces, punctuation, accents) and lowercases the result, then compares forwards vs. backwards. So "A man a plan a canal Panama" — once stripped to "amanaplanacanalpanama" — reads identically backwards and is flagged as a palindrome. Casing and punctuation are ignored, matching the standard literary definition. Single words like "racecar" and "level" also work.
Reverse just flips character order: "Hello" → "olleH". Mirror text uses Unicode characters that are visually mirrored (e.g., "b" looks like a mirrored "d", "p" looks like a mirrored "q") to produce text that appears to be drawn in a mirror. The visual effect is different from a plain reverse — mirror text reads naturally if held up to a mirror, while reversed text is just backwards.
Yes — "Reverse string" works fine for identifiers like "userName" → "emaNresU". Be aware that JavaScript and most languages treat identifier characters as case-sensitive, so reversed identifiers must match exactly. The tool does not perform any case smoothing or normalisation, so what you put in is exactly what comes out reversed.
Related: reverse text generator, reverse string online, backward text generator, reverse word order, reverse each word, mirror text generator, palindrome checker, flip text, text reverser, reverse line order, reverse digits, reverse string javascript, free reverse text, string reverser online