Reverse Text
Reverse Text expands the input with JavaScript string iteration and reverses those Unicode code points. This avoids splitting UTF-16 surrogate pairs for a single emoji, but it does not preserve grapheme clusters: combining marks, emoji skin tones, flags, and zero-width-joiner sequences can be reordered into broken-looking text. Bidirectional scripts also have display behavior beyond storage order.
Runs locally — files stay on your deviceWill every visible character remain intact?
No. Multi-code-point grapheme clusters can break.
Code points are not always user-perceived characters
A grapheme can contain a base character plus combining marks or several emoji code points joined into one display unit.
How it works
[...input] creates code points, reverse changes order, and join reconstructs the string.
Key concepts
Surrogate pair preserved
A simple supplementary-plane emoji stays one code point.
Clusters can split
Accent marks can move before another base.
When to use it
- Reverse simple ASCII or single-code-point text.
- Demonstrate code-point order.
- Create a playful effect on uncomplicated input.
When not to use it
- Do not reverse emoji sequences or combining text expecting visual integrity.
- Do not use it for right-to-left layout correction.
- Do not call it grapheme-aware.
Worked examples
ASCII
- Input
abc- Expected output
cba
One code point each.
Simple emoji
- Input
A😀B- Expected output
B😀A
Surrogate pair stays.
Family emoji
- Input
A joined family emoji- Expected output
Potentially broken sequence
Multiple code points reverse.
Common mistakes
Calling it character-aware
Only code points are grouped. Correction: Segment grapheme clusters.
Using for RTL layout
Visual bidi order is separate. Correction: Use Unicode bidi support.
Expecting normalization
Combining sequences can reorder. Correction: Use grapheme-aware processing.
Best practices
- Restrict to simple scripts when appearance matters.
- Test emoji/combining marks.
- Keep the original.
Related operations and differences
Add Prefix to Every Line
Choose Add Prefix to Every Line when you need to add the same prefix before every line.; use Reverse Text specifically for reverse text.
Add Suffix to Every Line
Choose Add Suffix to Every Line when you need to add the same suffix after every line.; use Reverse Text specifically for reverse text.
Capitalize Every Word
Choose Capitalize Every Word when you need to capitalize the first character of every word.; use Reverse Text specifically for reverse text.
Character Counter
Choose Character Counter when you need to count Unicode characters in text.; use Reverse Text specifically for reverse text.
Extract Email Addresses
Choose Extract Email Addresses when you need to find unique email addresses in text.; use Reverse Text specifically for reverse text.
Extract URLs
Choose Extract URLs when you need to find unique HTTP and HTTPS links in text.; use Reverse Text specifically for reverse text.
Limitations and privacy
- Unicode code-point reversal only; no grapheme segmentation, normalization, bidi handling, word/line mode, or preservation of joined emoji.
Text is transformed locally in this browser and is not uploaded by the tool.
Frequently asked questions
Are simple emoji split?
A single code point is not.
Can combined emoji break?
Yes.
Are lines reversed separately?
No, the complete string reverses.
Does it fix RTL text?
No.