Text and Tamil tools

Text reversal

Reverse text or line order locally. Keep Tamil signs and emoji together, preview whitespace, undo replacements and download the original separately.

ABC becomes CBA. Whole character groups stay together, including Tamil signs and joined emoji. A final line break moves to the start.

ABC → CBA

Paste or import TXT. Up to 100,000 UTF-16 units; nothing is uploaded or saved.

Paste text to begin. Live preview is on.

Import a local TXT file

Choose or drop one UTF-8 TXT file up to 400 KB. Undo restores the previous text.

Reverse text safely by clusters

  1. Paste text and choose whole text, within each line or line order.
  2. Reverse and review the result.
  3. Copy or download the result, or download the original separately.

Grapheme modes use native Intl.Segmenter to group original Unicode sequences. They reverse the order of those original clusters without reversing code units or splitting supplementary characters, Tamil vowel signs, family emoji, combining accents or skin-tone sequences inside each cluster. For தமிழ் the original clusters are த, மி, ழ்; reversed output is ழ்மித. Native browser Unicode segmentation data can vary. Unicode grapheme boundary reference.

Reversal is a sequence transformation, not a mirror image, translation or spelling correction. New neighboring clusters can combine differently after concatenation. For example, a leading combining accent followed by A becomes A followed by that accent; reversing again may therefore keep the newly formed cluster. Do not assume every input can be restored by applying reversal twice. Original TXT remains separate. Right-to-left display, glyph shaping and font rendering can make visual order differ from stored sequence order.

Choose line behavior

Whole-text reversal includes whitespace and line-break clusters in the reversed sequence; a final newline can move to the start. Original characters inside each cluster are retained, and no delimiter normalization is applied by the algorithm. Within-line mode reverses clusters separately in each record, preserving line order. Line-order mode reverses records without changing line values and works without Intl.Segmenter.

The two record modes recognize CRLF as one boundary, LF, CR, U+0085 NEXT LINE, U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR, then output LF delimiters. Blank records remain. A final delimiter terminates the last record rather than adding a phantom empty record; retained when records remain. Empty input has zero records. The original-cluster count in within-line mode excludes delimiters; whole-text count includes them.

Preview and recover

Live preview waits 450 ms after typing and pauses during input-method composition. Turn it off to reverse manually. Whitespace marks reveal line breaks and spacing in bounded previews; previews may split a combined character at their boundary, but exports are complete. Markers can match literal characters in your text and are only a visual aid.

TXT import validates UTF-8, removes an initial BOM and normalizes CRLF/CR to LF. Invalid files preserve the draft and result. Large paste, import, example, Clear and Use result offer one undo step; typing or changing the reversal mode discards it. Clear keeps your mode. Undo restores the saved source rather than attempting another reversal.

Limits and privacy

No normalization, case mapping, letter sorting or code-point reversal is applied. Original TXT preserves the current textarea value; browsers normalize textarea CR/CRLF to LF, so raw clipboard encoding cannot be recovered. Valid Unicode input at most 100,000 UTF-16 units, local worker, ten-second timeout, cancellation and stale-result guards. No upload, storage, external API or executable HTML. Unpaired surrogates reject for valid UTF-8 exports. Missing Intl.Segmenter produces an explicit grapheme-mode error; line-order mode remains available. Clipboard copying is optional; download or select output if unavailable.