Type a tool name, for example "keyword density" or "transcript".
Paste your text or upload a file to remove duplicate lines. Configure case sensitivity, empty line handling, and more.
Use this free tool to remove duplicate lines from a pasted list or an uploaded text file in one click. It keeps the first copy of every line, shows how many lines were removed, and lets you ignore case, trim spaces and drop blank lines. It suits keyword lists, URL lists, email lists and logs.
A duplicate line is a line whose full text matches a line that appeared earlier in the same list. Removing duplicates keeps the first occurrence and deletes every later copy, so each unique line appears exactly once.
The comparison covers the whole line, not individual words. "red running shoes" and "red running shoes sale" are two different lines, so both stay. Whether two lines count as identical also depends on the options you choose, such as ignoring uppercase and lowercase differences or ignoring spaces at the start and end of a line.
Command-line users often reach for sort -u or uniq to do this. Keep in mind that uniq only removes duplicates that sit next to each other, so a list has to be sorted first. This page removes repeats anywhere in the list and leaves the remaining lines in their original order.
You can clean a list in about ten seconds with the steps below.
Because the result overwrites the box, copy your original text somewhere safe first if you may need it later.
Each checkbox changes how lines are compared or what happens to blank lines, so choose them before you click Remove Duplicates.
| Option | What it does | Turn it on when |
|---|---|---|
| Case Sensitive | Treats "Shoes" and "shoes" as different lines | Case carries meaning, such as URLs or codes |
| Remove Empty Lines | Deletes blank lines and counts them as removed | You pasted a list with gaps |
| Trim Whitespace | Strips spaces and tabs from both ends of each line | Copies look identical but are not matched |
| Show Removed Lines | Lists every deleted line in a separate panel | You want to audit the cleanup |
With Case Sensitive unchecked, the tool ignores capitalization, so "Running Shoes" and "running shoes" count as the same line. With Remove Empty Lines unchecked, blank lines are left exactly where they are and are never treated as duplicates of each other.
A trailing space is invisible but makes a line different from its twin. Turning on Trim Whitespace removes that difference, and the lines that remain in your output are the trimmed versions.
Imagine you merged keyword exports and ended up with these eight lines, where the fifth line has a trailing space and the fourth and seventh are blank:
With the default settings, line 2 is removed as a repeat of line 1, and line 8 is removed as a repeat of line 3. The trailing-space version on line 5 survives because its text is not an exact match, and both blank lines stay. You get Original 8, Remaining 6, Removed 2.
Now tick Trim Whitespace and Remove Empty Lines and run it again on the original text. Line 5 now matches line 1, and both blank lines are deleted. The output is three lines: running shoes, trail running shoes and best running shoes. The stats read Original 8, Remaining 3, Removed 5. With Show Removed Lines on, the panel explains each deletion, for example "line 2 dupe of 1" followed by the original text.
The three counters tell you whether the cleanup did what you wanted: Original is the line count before, Remaining is the line count after, and Removed is the difference.
The Removed Lines panel labels each entry with its line number and the line it duplicated. That makes it easy to spot-check a few entries before you trust a large cleanup.
Anyone who combines lists from more than one source ends up with repeats, and this tool clears them quickly.
Once the list is clean, you can add a shared start or end to every line with the Prefix/Suffix Adder, or turn the column into a single row with the Comma Separating Tool. If you want proof of what changed, paste the before and after versions into the Diff Checker.
A few habits prevent most bad results.
Keyword research usually treats capitalization as irrelevant, so the default works well. URL paths, file names and product codes can be case-sensitive, so turn on Case Sensitive for those. If you need a consistent style before comparing, run the text through Change Text Case first.
Sort A-Z and Sort Z-A only reorder lines. They do not delete anything, and they change the order permanently in the box. Sorting ignores uppercase and lowercase differences, and it treats numbers as text, so 10 comes before 2. If the original order matters, remove duplicates first and sort only when you are done.
Each line is compared as a whole. A CSV row such as "shoes,500,US" only matches another row with the same three values. To deduplicate by one field, paste only that column.
Turn on Show Removed Lines for any list that matters, scan the panel, and only then copy the result into your project. If you spot a mistake, paste your original back in and change the options.
This page matches exact lines only. It does not catch near matches such as "running shoe" and "running shoes", spelling variants or lines that differ by punctuation. Those stay as separate entries, so you will need to review them by hand.
It also does not remove repeated words inside a line. If your goal is to clean repeated words rather than whole lines, the Duplicate Word Remover is the better fit. Finally, uploads accept .txt, .csv and .log files, so convert other formats to plain text before you paste or upload them.
Paste your list into the box above, pick your options and click Remove Duplicates to get a clean, ordered list with a clear count of what was removed. For more cleanup helpers, browse the Text Utility Tools collection.
Your report has been submitted. We will look into this issue.
A VPN changes your network exit. It does not guarantee anonymity.
Themes, plugins, code, video, audio, graphics & more from 90,000+ authors.
Web Development
Design & Media
Unlimited Access
Explore Envato Market