Remove Duplicates

Paste a list and strip out repeated lines instantly, with control over case, spacing and which copy to keep.

Keep which copy
Total lines
0
Unique kept
0
Removed
0

Deduplicated list

How duplicates are matched

Each line is compared against the others to decide what counts as a repeat. By default the match is exact, so the entries must be identical character for character. Two options loosen that: case-insensitive ignores capitalisation, and ignore leading and trailing spaces trims each line before comparing. With both on, " Hello" and "hello" are treated as the same entry. Blank lines are dropped from the result.

First or last occurrence

When a line appears more than once you choose which copy survives. Keep first preserves the earliest copy and the original ordering, which is what you want most of the time. Keep last keeps the final copy instead - handy for logs or exports where the most recent row is the one that matters. Either way the output lists each unique line once, in the order its kept copy appeared.

Common uses

  • Cleaning an email or subscriber list before importing it
  • Removing repeated URLs, keywords or tags
  • Deduplicating log lines or exported data
  • Tidying a copy-pasted list where items were added twice

Want the list sorted as well? Send the result through the alphabetizer. If your list arrived with messy wrapping, clean it with the line break remover first, and check the final length with the word counter.

Reading the counters

Above the output you get three numbers: total lines, unique lines kept, and how many were removed. Total counts the non-blank lines in what you pasted, so blank spacer lines do not inflate the figure. Removed is simply the difference between the two. Watching those numbers is a fast sanity check - if you expected a handful of duplicates and half the list vanishes, that is a sign your case or trim settings are matching more aggressively than you meant.

The whole process is order-preserving and non-destructive. Your pasted text stays put in the input box, the deduplicated version appears separately for you to copy, and every calculation runs locally in your browser. That means you can safely paste customer lists, internal exports or anything confidential without it ever leaving your machine, and you can toggle the options back and forth until the result looks right.

Frequently asked questions

How do I remove duplicate lines from a list?
Paste your list into the box, one item per line. The tool keeps the first occurrence of each unique line and drops every later repeat, showing the deduplicated list and how many lines it removed. Everything runs live in your browser.
What does the case-insensitive option do?
With it off, "Apple" and "apple" count as two different lines. With it on, they are treated as the same, so only one is kept. Turn it on when the capitalisation of an entry does not matter for what counts as a duplicate.
What is the difference between keeping the first and last occurrence?
Keep first preserves the original order and keeps the earliest copy of each line. Keep last keeps the final copy instead, which is useful when later entries in a log or export are the more up-to-date ones. Either way, each unique line appears exactly once.
Does trimming whitespace affect the result?
Yes. With "Ignore leading and trailing spaces" on, " hello" and "hello " are treated as the same line, so accidental spacing does not stop duplicates being caught. The kept lines are also trimmed in the output.