Skip to content
Let’s talk
Menu

Text List Cleanup

Trim, normalize, deduplicate, change case, and sort a pasted list locally while keeping the original input intact.

Runs locally in your browser · no uploads or account
01 / ORIGINAL LISTLOCAL ONLY

0 / 200,000 UTF-16 code units · 0 / 5,000 lines

Case and sorting

Case runs before exact, case-sensitive deduplication. Sorting compares UTF-16 strings, so it is not natural-number or language-aware sorting: item10 comes before item2 when ascending.

02 / CLEANED LISTTEXT OUTPUT
BEFORE
—
AFTER
—
EMPTY REMOVED
—
DUPLICATES REMOVED
—

Your original stays above. Output uses LF separators and adds no final delimiter; when a retained last record is empty, the displayed result can still end in LF.

Paste or type a list, then choose Clean list.

A REPEATABLE ORDER

Clean the list.
Keep the source.

The defaults handle common cleanup.

Newlines are always normalized first. By default, line edges are trimmed, empty lines are removed, global duplicates are removed while the first remains, and original order and letter case are preserved.

Exact text stays exact.

No Unicode normalization or transliteration occurs. The full order is newline normalization, trim, case, empty removal, deduplication, then sorting. Letter-case conversion can expand text and the output limit is checked afterward.

Final-newline behavior.

LF is a separator. One final LF terminates the preceding record instead of creating a phantom item. Output joins retained records with LF and appends no extra terminator. Empty input has zero lines. Input and output are each limited to 200,000 UTF-16 code units and 5,000 lines, with no truncation. Clear or leave the page to discard both lists.