Default settings (case-sensitive)
With the default settings, apple and Apple are different lines, so both survive; the repeated banana is removed.
Input
apple
banana
Apple
cherry
bananaOutput
apple
banana
Apple
cherryStrip repeated lines from lists, logs, keywords, or exports — with options to ignore case, trim whitespace, drop empty lines, and sort A–Z.
Content last reviewed
0 lines
Drop the text into the input panel, one item per line.
Toggle Ignore case, Trim whitespace, Remove empty lines, or Sort A–Z to control what counts as a duplicate.
The deduplicated list appears live in the output panel — copy it or download it as a .txt file.
With the default settings, apple and Apple are different lines, so both survive; the repeated banana is removed.
Input
apple
banana
Apple
cherry
bananaOutput
apple
banana
Apple
cherryThe same list with Ignore case switched on — Apple now matches apple and is removed too.
Input
apple
banana
Apple
cherry
bananaOutput
apple
banana
cherryMerged mailing lists, keyword research exports, log files, and copy-pasted spreadsheets all accumulate the same problem: repeated lines that skew counts and clutter imports. This tool removes them instantly — paste a list on the left and the unique version appears on the right, keeping the first occurrence of each line in its original position.
Four toggles control what counts as a duplicate. Ignore case treats Apple and apple as the same entry. Trim whitespace (on by default) makes lines match even when one carries stray leading or trailing spaces. Remove empty lines drops blanks from the output, and Sort A–Z reorders the surviving lines alphabetically when you want a tidy list rather than the original order. A sidebar shows lines in, unique lines kept, and how many were removed, so you can see the effect of each toggle immediately.
Everything runs in your browser as you type — the list you paste is not uploaded anywhere, which matters when you are cleaning contact lists or internal log data. When you are done, copy the result to the clipboard or download it as deduplicated.txt.
Paste your list into the Input list panel, one item per line. Click Try an example to load a small sample list if you want to test the toggles first.
Adjust the four switches above the panels:
Read the sidebar: Lines in, Unique kept, and Removed update live as you edit or flip toggles.
Copy the deduplicated result from the output panel, or click Download to save it as deduplicated.txt.
Drag the divider between the panels to resize them, or expand either panel fullscreen for long lists.
Later repeats are removed while the first copy of each line stays where it was, preserving your list's order unless you choose to sort.
An optional toggle treats Apple, APPLE, and apple as one entry.
With Trim whitespace on, lines that differ only by stray spaces are recognized as duplicates — the output still keeps each line's original text.
Optionally drop blank lines and alphabetize the result in the same pass.
Sidebar statistics show total lines, unique lines kept, and lines removed as you work.
Send the clean list to your clipboard or save it as a .txt file.
Merge keyword research from several sources and strip the overlap before analysis.
Remove repeated entries from an exported list so nobody receives the same message twice.
Collapse repeated log or error lines to reveal the set of distinct problems.
Paste one list under another and deduplicate to get their union without repeats.
Tidy exported data before loading it into a spreadsheet, database, or CRM.
The tool splits your text into lines and walks through them once, keeping a running set of lines it has already seen.
For each line it builds a comparison key: the line is trimmed of leading and trailing whitespace if Trim whitespace is on, and lowercased if Ignore case is on. If the key has been seen before, the line is dropped; otherwise the original line — exactly as you pasted it — is kept and the key is remembered. Empty lines are removed at this stage when that option is on.
Finally, if Sort A–Z is enabled, the surviving lines are alphabetized using a case-insensitive, locale-aware comparison. The whole pass reruns instantly whenever you edit the input or flip a toggle.
Any line-based text: keyword lists, URLs, emails, log excerpts, single-column spreadsheet data pasted from Excel or Google Sheets.
The cleaned result can be downloaded as a UTF-8 .txt file named deduplicated.txt.
Treats lines that differ only in capitalization as duplicates. Off by default.
Ignores leading and trailing spaces when comparing lines. On by default; the kept lines are output with their original spacing.
Drops blank lines from the output. Off by default.
Alphabetizes the unique lines (case-insensitive). Off by default, which preserves the original order.
They probably differ invisibly — different capitalization, a trailing space, or a non-breaking space. Turn on Ignore case and keep Trim whitespace enabled; if a stubborn pair remains, an invisible character inside the line is the likely cause.
With Ignore case on, entries you consider distinct (US and us, for example) merge into one. Switch it off when capitalization carries meaning.
If each line's position matched a row in another column or file, removing lines breaks that pairing. Deduplicate combined records rather than one column in isolation.
Comparison is exact after the optional trim and lowercase steps — the tool does not detect near-duplicates, so misspellings, extra punctuation, or different word orders count as distinct lines. Only leading and trailing whitespace is ignored; spacing differences inside a line make lines unique. Sorting is alphabetical only (no numeric or natural sort), so line 10 sorts before line 2. Very large lists are processed in memory in your browser; hundreds of thousands of lines work on a typical machine, but extremely large files may be slow.
The list you paste is processed entirely in your browser — deduplication happens locally and nothing is uploaded, logged, or stored by the tool. That makes it safe to clean lists containing contact details or internal data, though you should still handle personal data according to your own obligations.
Keep a copy of the original list — deduplication is destructive and you cannot always tell later what was removed.
Decide whether capitalization matters before you start, and set Ignore case accordingly.
Leave Trim whitespace on unless trailing spaces are meaningful in your data.
Check the Removed count against your expectations — a surprisingly high number usually means a toggle is set wrong.
Never deduplicate one column of paired data in isolation; you will break its alignment with the other columns.
Start by saving the original list somewhere — a scratch file or a spreadsheet tab — so you can compare or recover later. Paste it in, then set the matching toggles before reading the output: Ignore case for human-entered text where capitalization is inconsistent, and Trim whitespace on in almost all cases.
Use the sidebar numbers as a sanity check. If a 500-line list reports 490 removed, something is probably matching too aggressively; if it reports 0 removed when you can see repeats, capitalization or hidden whitespace is keeping them apart.
Sort A–Z is best applied as the final step, once you are happy with the unique set. For related cleanup — normalizing case across the list first, for example — run the text through the Case Converter before deduplicating.
Deduplication runs client-side in a single pass using a JavaScript Set of comparison keys, so performance scales linearly with the number of lines. Lines are split on newline characters. The optional sort uses localeCompare with base sensitivity, giving case-insensitive, accent-aware alphabetical order. Output lines are always the original pasted lines, not their trimmed or lowercased keys. Downloads are generated locally as UTF-8 text via a Blob; no data leaves the page.
Marketers cleaning keyword and mailing lists, developers and sysadmins collapsing repetitive log output, analysts tidying exports before import into spreadsheets or databases, and SEO practitioners merging keyword research from multiple sources. Anyone with a repetitive line-based list gets value from it without needing formulas or scripts.
Yes. The first occurrence of each line stays in its original position and only later repeats are removed. Order changes only if you enable Sort A–Z.
Only if you switch on Ignore case. By default comparison is case-sensitive, so they both survive.
It ignores leading and trailing spaces when deciding whether two lines match, so "item " and "item" count as duplicates. The line that is kept still appears in the output exactly as you pasted it.
No. Matching is exact after the optional trim and lowercase steps. Lines that differ by a typo, punctuation, or word order are treated as distinct.
There is no fixed limit — processing happens in your browser's memory. Lists with hundreds of thousands of lines generally work; truly huge files may become slow depending on your device.
No. Splitting, comparing, sorting, and even the .txt download are all performed locally in your browser.