Remove duplicates

Keep one copy of each entry in your list.

Your text is processed in your browser and is not sent to UtiliBits.

Each line break starts a new entry. Wrapped text stays in the same entry.

Duplicate matching

The first matching entry is kept. Ignoring surrounding whitespace also trims the output. Internal spaces and tabs stay unchanged.

Ignoring empty entries discards all blank or whitespace-only entries. Otherwise, blanks match once when trimming is on; with trimming off, different whitespace stays distinct. An empty input has zero entries.

Case-insensitive matching uses Unicode lowercasing without language-specific rules or accent conversion. Turn off Preserve original order to sort by matching key in UTF-16 code-unit order, without locale collation.

Cleaned list

Paste your list, choose your settings, then select Remove duplicates.

How to remove duplicate lines

Paste your list, choose One item per line and select Remove duplicates. Each logical line is an entry, with support for LF, CRLF and CR line endings. Visual wrapping in the text area does not create new entries.

Clean a comma-separated list

Choose Comma-separated items for simple lists such as names or tags separated by commas. This mode is not a full CSV parser and does not support quoted CSV fields containing commas.

Choose how entries match

Case-sensitive matching keeps Apple and apple different. Case-insensitive matching treats them as duplicates and retains the first matching entry. Enable surrounding-whitespace trimming to make " apple " and "apple" match. Trimming also trims retained output; internal whitespace is not automatically normalised.

Empty entries can be ignored or retained. With trimming enabled, retained whitespace-only entries become one blank entry. With trimming disabled, different whitespace remains distinct.

Order, sorting and statistics

The default preserves first-occurrence order. Optional alphabetical sorting uses deterministic matching-key ordering by UTF-16 code units, rather than locale-specific natural-language collation.

Total entries equals Unique entries plus Duplicates removed plus Ignored empty entries. Empty input has zero entries; delimiters create entries, including empty ones. Ignored empty entries are separate from duplicates removed.

Copy or download cleaned text

Copy the cleaned output or download it as a plain-text .txt file. To change casing, use Case Converter. To analyse the cleaned text, use Word & Character Counter.

Your text stays private

Your text is processed in your browser and is not sent to UtiliBits. Input and cleaned output stay in memory, outside URLs, structured data, prerendered HTML, advertising data, analytics and logs.

Frequently asked questions

How do I remove duplicate lines?

Paste your text, choose One item per line and select Remove duplicates. Each logical line is an entry. LF, CRLF and CR line endings are supported; visual wrapping does not create entries.

Can I remove duplicates from a comma-separated list?

Yes. Choose Comma-separated items for a simple comma-separated list. This is not a full CSV parser and does not support quoted fields containing commas.

Does matching ignore uppercase and lowercase differences?

With case-sensitive matching, Apple and apple remain different. With case-insensitive matching, they are duplicates. The tool retains the first matching entry.

Can I ignore spaces around entries?

Enable surrounding-whitespace trimming so " apple " and "apple" match. Retained output also uses trimmed text. Internal whitespace is not automatically normalised.

Does the tool preserve the original order?

Yes. By default, unique entries keep their first-occurrence order and use the first matching entry as output.

Can I sort the unique results?

Yes. Optional alphabetical sorting compares matching keys by UTF-16 code units. It is deterministic, not locale-specific natural-language ordering.

How are blank entries and duplicates counted?

Total entries equals Unique entries plus Duplicates removed plus Ignored empty entries. Empty input has zero entries. Delimiters create entries, including empty ones. Ignored empty entries are counted separately from duplicates. If retained, empty entries follow the selected matching and trimming options.

Is my text uploaded or stored?

No. Your text is processed in your browser and is not sent to UtiliBits. Input and cleaned output stay in memory and are not stored or added to URLs, structured data, analytics or logs.