Remove unique items from a list

Drop every item that appears exactly once. Items that appear two or more times are kept in full - every copy survives, in original order. This is different from dedupe (one copy of every value) and different from Find duplicates (one row per duplicated value). Case-insensitive with trim by default.

Input
Ready
Output
Live

Keep every copy of duplicates, drop every singleton

The op tallies each item's occurrence count, then keeps every line whose count is 2+. "Every line" is literal: if `apple` appears three times, all three stay. Unique items (count = 1) are dropped entirely. Order is preserved - items stay in their original position.

This answers "what are all the repeated lines in my data?" more faithfully than either dedupe (which collapses each group to one) or Find duplicates (which emits one row per repeated value). Good for event logs where multiple copies signal real frequency.

Case sensitive (off by default) and Trim (on by default) control the compare key. Off/on: `Apple` and `apple` count together; both copies kept if the combined total is 2+. On/off: they count separately. Blank lines are always skipped.

How to use remove unique items from a list

  1. 1Paste your list into the input panel
  2. 2Output keeps every copy of items that appear 2+ times
  3. 3Singletons (items that appear exactly once) are dropped entirely
  4. 4Toggle Case sensitive and Trim to control how matches are grouped
  5. 5For one-row-per-value reports, use Find duplicates

Keyboard shortcuts

Drive ListShift without touching the mouse.

Shortcut Action
Ctrl ZUndo last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor
EscExit fullscreen
Ctrl KOpen the command palette to jump to any tool
Ctrl SSave current pipeline draft Plus
Ctrl PRun a saved pipeline Plus

What this tool actually does

Count, then keep every line whose count is 2 or more.

Every copy of duplicates survives

If `apple` appears 5 times, all 5 stay in the output. This is different from Dedupe (which keeps 1) or Find duplicates (which emits each duplicated value once as a report).

Singletons dropped entirely

Items that appear exactly once are removed. The output has no one-off entries - only repeats.

Original order preserved

Kept items stay in their original positions. No sort, no reorder. Good for time-series data or event logs.

Case-insensitive by default

`Apple` and `apple` group together for counting. If the combined total is 2+, both copies survive. Turn Case sensitive on to treat case variants as distinct.

Trim-aware by default

`apple` and ` apple ` count as the same item. Turn Trim off to treat whitespace variants as distinct items - each needs its own 2+ count to qualify.

Worked example

`apple` and `banana` each appear twice - both copies kept. `orange` and `kiwi` are singletons - dropped.

Input
apple
banana
apple
orange
banana
kiwi
Output
apple
banana
apple
banana

Settings reference

How each option shapes the output using the sample above.

Setting What it does Effect on the sample
Case sensitive: off (default) `Apple` = `apple` 4 items: `apple, banana, apple, banana`
Case sensitive: on Each casing distinct, must hit 2+ on its own If input had mixed-case duplicates, each would need its own 2+ count to qualify
Trim: on (default) `apple` = ` apple` for the count Both copies kept if the combined total is 2+
Trim: off Whitespace variants distinct `apple` vs ` apple` each need their own 2+ count
All-singleton input Every item appears exactly once Output is empty

FAQ

How is this different from Dedupe?
Dedupe keeps ONE copy of every distinct item (including singletons). This tool keeps EVERY copy of items that appear 2+ times, and drops singletons entirely. Three-way contrast: Dedupe = unique set, Remove unique = all copies of repeaters, Find unique = just the singletons.
How is this different from Find duplicates?
Find duplicates emits each duplicated value once (a report of what repeats). This tool emits every copy (the full duplicate payload, with order preserved). Pick the report-style tool for auditing, this one for cleaning.
What if every item in my input appears exactly once?
Output is empty - every line is a singleton, and singletons get dropped. If the output is blank, your input has no duplicates to keep.
Does it sort the output?
No. Kept items stay in their original input order. For alphabetical output, chain Sort after.
What happens to blank lines?
Skipped during counting; never emitted in the output. Blank lines are not treated as values.