What this tool does
Lists collect duplicates the way pockets collect coins. Merge two spreadsheets, paste search keywords out of three different research tools, copy names from two emails into one document, and the same entry quietly appears twice — or five times — with nothing marking it. Reading a thousand lines to spot the repeats yourself is slow, and it is exactly the kind of task human eyes do badly: the third copy of a line hides behind the confidence that you have already seen it and dealt with it. This tool does the job mechanically instead. Paste the list, press the button, and every line that appears more than once is reduced to a single copy. The first occurrence of each line is the one kept, the surviving lines stay in the order they first appeared, and the counters underneath the button report exactly how many lines went in, how many duplicates were removed and how many lines came out — so you can sanity-check the result before you trust it with anything important.
How the matching works
Two lines count as duplicates only if they match exactly, with one practical exception: trailing spaces at the end of a line are ignored, and are trimmed from the result, because a stray space picked up in a copy-paste is the commonest invisible reason apparently identical lines fail to match. Matching is case-sensitive: "Apple" and "apple" are treated as different lines and both survive. That is deliberate — in the lists people clean most often, such as product codes, SKUs, email addresses and keywords, case can carry meaning, and silently merging different-case lines would destroy information. If your list is ordinary words and case is just typing noise, run it through our case converter set to lowercase first, then dedupe it here, and the matching becomes effectively case-insensitive. Two options sit beside the button. Sort the result A–Z alphabetises the surviving lines instead of keeping first-appearance order; note that the sort is alphabetical, character by character, so numbers sort as text — 10 comes before 2. Remove blank lines, ticked by default, drops empty lines entirely instead of letting them dedupe down to a single blank. There is no limit built into the page on how many lines you can paste: lists of tens of thousands of lines clean almost instantly on an ordinary laptop, because checking each line is a single lookup rather than a comparison against every line that came before it.
Worked example: a keyword list with repeats
A blogger pastes together the keyword ideas collected for one article and gets this list of 10 lines: easy chicken recipes, slow cooker chicken, easy chicken recipes, chicken soup, slow cooker chicken, easy chicken recipes, chicken soup, air fryer chicken, chicken soup, air fryer chicken. Pressing the button, with blank lines removed and no sorting, returns 4 lines — easy chicken recipes, slow cooker chicken, chicken soup, air fryer chicken — in the order they first appeared, and the counters report: lines in 10, duplicates removed 6, lines out 4. Tick Sort A–Z and run it again, and the same four lines come back alphabetised: air fryer chicken, chicken soup, easy chicken recipes, slow cooker chicken — the tidy order most keyword tools, spreadsheets and inventory systems expect on import. Nothing else about the lines changes: no words are edited, no plurals are merged, no near-matches are guessed at. The tool removes exact repeats and shows its arithmetic, which is the whole of its promise.
Where people use it
The same small job turns up anywhere lists are assembled by hand. Email and contact lists merged from two sources, where a repeated address means an annoyed subscriber gets the same message twice. SEO keyword lists combined from several research tools before they are imported into a tracker. Inventory and SKU lists checked before a stock count, so nobody counts the same shelf twice. Server logs and error reports reduced to the distinct entries actually worth investigating. Survey and form responses cleaned of accidental double submissions. Shopping, packing and guest lists that grew by accretion across several people and several group chats. Even code and configuration snippets — font stacks, redirect rules, allowed values — collect repeated lines as they are edited over months. In every case the value is identical: the distinct entries, counted, in seconds, with the number removed shown plainly enough that you can tell at a glance whether the cleaning behaved the way you expected it to.
Common mistakes
- Expecting near-duplicates to merge. "Chicken soup" and "chicken soup " are merged, because the trailing space is trimmed — but "chicken soup" and "chicken soups", or a line with a double space in the middle, are genuinely different lines and both survive. Eyeball the result for variants that differ by more than an ending space.
- Forgetting that case counts. "Apple" and "apple" both stay, by design. For lists of names and words where case is noise rather than meaning, lowercase everything with the case converter before deduping.
- Sorting numbers and expecting numeric order. The A–Z sort compares text character by character, so 1, 10, 2 is the correct output for a column of numbers. Pad numbers to the same width — 01, 02, 10 — if you need them in numeric order afterwards.
- Removing blank lines you wanted to keep. The blank-line option is ticked by default. Untick it if the gaps in your list are meaningful spacing; with it unticked, repeated blank lines still dedupe to a single blank line rather than vanishing.
- Deduping before you have finished merging. Clean the final, fully merged list once, not each source separately — duplicates usually live between sources, not inside them, and a half-merged clean list invites the other half's repeats straight back in.
Private by design
Your list is processed entirely in your browser and is never uploaded, stored or shared — the same rule as every ToolFigure tool, including the word counter. When the cleaned list looks right, the Copy result button below puts it on your clipboard in one click.
Frequently asked questions
Does it keep the first or the last copy of a repeated line?
The first. Each line is kept at the position where it first appears, and later copies are removed, so the output preserves the order of your original list — unless you tick Sort A–Z, which alphabetises the surviving lines instead.
Is the matching case-sensitive?
Yes. 'Apple' and 'apple' are treated as different lines, because case matters in codes, SKUs and addresses. If you want case-insensitive cleaning, lowercase the list first with the case converter on this site, then run it through here.
What happens to lines with extra spaces?
Spaces at the end of a line are ignored when matching and trimmed from the output — the commonest copy-paste accident. Spaces inside a line, including accidental double spaces, are part of the line, so lines that differ there are treated as different lines.
Can it sort the list as well as dedupe it?
Yes — tick 'Sort the result A–Z'. The sort is alphabetical and case-insensitive in ordering (so 'banana' sits between 'Apple' and 'Cherry' as you would expect), but it compares text, so numbers order as 1, 10, 2 rather than 1, 2, 10.
Is my list uploaded or saved anywhere?
No. The deduping happens in your own browser with JavaScript; nothing is sent to or stored on ToolFigure's servers, and closing the page discards everything. That is the same privacy rule as every tool on this site.


