Remove repeated lines
- Paste text and choose whether to keep the first or last matching occurrence.
- Leave options off for exact matching, or select explicit comparison rules.
- Process, review counts and retained lines, then copy or download.
Retained occurrences keep their original text and relative order. For A, B, A, first keeps A, B; last keeps B, A. The original input remains available as a separate TXT download. The tool does not sort or clean the retained line values.
Comparison options
Outer whitespace matching ignores only Unicode White_Space at line edges; internal whitespace and zero-width formatting characters remain significant. Canonical matching uses NFC on keys, so composed and decomposed accents can match, while the selected original line stays as entered. This is not compatibility normalization. Unicode normalization reference.
Lowercase comparison applies native whole-line locale-aware lowercase to keys. This is not full Unicode case folding: German ß and SS remain different lowercase keys. Turkish I and ı can match when Turkish is selected. Browser Unicode/locale data can vary. Combined canonical matching normalizes before and after case mapping. Matching does not make different meanings, confusable characters or visually similar scripts equivalent.
Whitespace-only line removal is separate from duplicate removal. With it off, repeated exactly empty lines can collapse to one empty record. Empty input has zero records. A final line delimiter terminates the last record and is not an extra empty record; the output preserves a terminal delimiter when at least one record remains.
Import, preview and recovery
Live preview waits 450 ms and pauses during input-method composition. You can switch it off for manual processing. Review removed lines shows every removal in ten-item pages with original line numbers and links to select the removed and kept occurrences. Blank removals are separate. The full removal report contains source text and matching rules.
TXT import validates UTF-8, removes an initial BOM and converts CRLF/CR to LF. Invalid files preserve the draft and result; edits cancel stale reads. Large pastes use one validated replacement. Import, example, large paste, Clear and Use result have one undo step. Editing text or options discards that undo; Clear keeps options.
Line endings and privacy
Input records recognize CRLF as one separator, LF, CR, U+0085 NEXT LINE, U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR. Output record delimiters are LF. Remaining line values retain their original characters, spacing and case; original TXT preserves the current textarea value. Browsers normalize textarea CR/CRLF input to LF, so clipboard encoding cannot be recovered.
Local worker only, valid Unicode up to 100,000 UTF-16 units, ten-second timeout. Linear key trimming avoids unbounded whitespace-regex work. Cancel terminates processing; Clear removes text/result; edits/options clear stale output. No uploads, draft storage, external API, executable HTML or user-defined regex. Unpaired surrogates reject for valid UTF-8 exports. Optional copying can be blocked; use download or selection. Files and clipboard remain under your control.