Text and Tamil tools

Text comparison

Compare two drafts, inspect additions and removals, and select changes in their source. Private local TXT imports and complete comparison reports.

Import before TXT

Choose or drop one UTF-8 TXT file, up to 400 KB and 2,000 lines. Undo restores previous drafts.

Import after TXT

Choose or drop one UTF-8 TXT file, up to 400 KB and 2,000 lines. Undo restores previous drafts.

Each draft: up to 100,000 UTF-16 units and 2,000 line records. Either side can be empty. Text stays on this device.

Both original values stay visible. Lines matched by this rule are labelled Whitespace match, not identical.

Paste or import the drafts, then compare.

Compare texts to review changes.

—Added
—Removed
—Whitespace matches
—Unchanged
Input equality and line-ending details

· space; → tab; [NBSP] non-breaking space. Markers are display-only. Each side previews at most 300 code points; selecting a source line reveals its complete text. Downloads always contain every record.

    Compare line changes

    1. Paste or import before and after text, or any two lists.
    2. Choose exact line matching or explicitly ignore outer whitespace in keys.
    3. Compare, inspect changes or all records, and download a readable report, full JSON or either original.

    A longest-common-subsequence alignment preserves matched line order and minimizes inserted plus removed line records under the selected key rule. It reports exact matches, key-equivalent matches, removed lines and added lines. A replacement appears as a removal and addition; moved lines may also appear that way. Repeated lines can admit several equally minimal alignments; ties choose removal first. This is line comparison rather than a semantic, word or character comparison. NIST subsequence reference.

    Every aligned record is reachable in twenty-item pages. Changes only is the default view; unchanged records remain available through All records. Each preview is bounded to 300 code points, which can end inside a combined character. Source selection and downloads preserve full text. Optional whitespace markers help inspect spacing; they do not enter downloads and may resemble literal marker characters already in the source. The structured JSON contains all records, original values for each side, original one-based line numbers, totals, key rule, exact input equality and final-delimiter flags. It is a comparison report, not an executable patch. Labels distinguish operations without relying on color.

    Whitespace and line endings

    Exact matching compares complete line values, including case, accents, internal spacing and zero-width characters. The optional rule removes Unicode White_Space only at line edges for matching keys. Both raw values stay in key-equivalent records. No case folding, normalization or semantic equivalence is inferred.

    Records recognize CRLF as one boundary, LF, CR, U+0085 NEXT LINE, U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR. Those separators do not become line content. Final delimiters terminate records rather than adding phantom empty lines; blank records still participate. Exact input equality compares the complete current textarea values before record parsing, while final-delimiter flags report termination independently. A delimiter-only difference may therefore show all line values matched but exact input equality false.

    Import and recovery

    Each side accepts a local UTF-8 TXT file up to 400 KB, subject to the same text/line limits. Import removes an initial BOM and converts CRLF/CR to LF. Invalid files keep both drafts and the current comparison. Editing a side cancels its unfinished read; the other side’s import can still finish. Large paste uses one validated replacement. Import, example, swap, large paste and Clear provide one undo step for both drafts. Typing or changing the matching rule discards this undo; Clear keeps the rule and view settings. Swapping reverses which changes are additions or removals after comparing again.

    Limits and privacy

    Each original TXT preserves the current textarea value. Browsers normalize textarea CR/CRLF to LF, so raw clipboard encoding cannot be recovered. No promise of file-byte comparison, grammar judgment, merge conflict resolution or plagiarism detection. Local worker only, valid Unicode up to 100,000 UTF-16 units and 2,000 records per input; the bounded alignment table has at most 4,004,001 cells (about 8 MB), plus text and report data. Ten-second timeout, Cancel terminates processing, and edits clear stale output. No uploads, storage, external APIs or executable HTML. Unpaired surrogates reject for valid UTF-8 exports.