Text & encoding
How it works
A grapheme is a user-perceived text unit, such as é or a joined emoji. Reversing UTF-16 units can break surrogate pairs; reversing individual code points can separate accents and flags. Grapheme operations move complete clusters instead.
Grapheme width is not display width. A CJK character or emoji may occupy more screen space than a Latin letter. Padding here counts graphemes, so it is not a terminal column alignment engine.
What you can do
Reverse, split, chunk, repeat, rotate, truncate, sort, join and pad text, optionally per line. Positive rotation moves left and negative moves right. Advanced code point modes shift values or extract/generate bounded ranges; those intentionally operate below the grapheme layer. Exact-count pieces are contiguous and differ by at most one grapheme; count must not exceed grapheme count. Regex uses Unicode mode and raw source, no slash delimiters. Empty matches and matches cutting a grapheme are rejected. Random padding samples from the padding field as a grapheme pool.
How to use it
- Choose an operation, then paste text or open a UTF-8 file.
- Set the amount, separator or padding required by that operation. Enter \n for a line break. Range endpoints are hexadecimal; generation can filter letters or numbers.
- Apply and inspect the result before copying, downloading or reusing it. Undo restores the previous input and controls.
- Exact-count pieces are contiguous and differ by at most one grapheme; count must not exceed grapheme count. Regex uses Unicode mode and raw source, no slash delimiters. Empty matches and matches cutting a grapheme are rejected. Random padding samples from the padding field as a grapheme pool.
Errors and limits
Code point sorting is deterministic, not dictionary collation. Numeric shifts reject surrogate and out-of-range results. Range extraction can separate components of a grapheme.
Range generation is ascending and limited to 10,000 values, skipping surrogate code points. Repetition and padding also respect the 2,000,000-character output limit. Combining-mark addition requires actual combining characters.
Exact-count pieces are contiguous and differ by at most one grapheme; count must not exceed grapheme count. Regex uses Unicode mode and raw source, no slash delimiters. Empty matches and matches cutting a grapheme are rejected. Random padding samples from the padding field as a grapheme pool.
Frequently asked questions
Will reversing preserve emoji and accents?
Grapheme modes preserve the clusters recognized by your browser’s Intl.Segmenter, including flags and common joined emoji.
Does this reverse the reading direction of Arabic or Hebrew?
It changes logical order, not the Unicode bidirectional layout algorithm. Reversing text is not a method for fixing RTL display.