Keep only the lines that appear exactly once
Counts every line in the input and emits only those with a frequency of one. Two lines of `banana` means `banana` is dropped entirely - not deduped to a single survivor. This is the set-difference between "unique values" (what dedupe does) and "values that appear exactly once" (what this does).
Case sensitive defaults to off, so `Apple` and `apple` collide onto a single count. Trim defaults to on, so `apple ` and `apple` also collide. Both toggles affect the counting key, not the output - the first-occurrence spelling is the one kept if it survives.
Line-based, not tokenised. A line with `apple banana` is one unit, not two words. For prose, pre-split on whitespace first. Runs client-side; no upload, no sign-up.
How to use find unique words in a list
- 1Input your list into the text area
- 2Toggle 'Case sensitive' if needed
- 3Toggle 'Trim' to remove extra spaces
- 4Watch the output update live
- 5Copy or download your results
Keyboard shortcuts
Drive ListShift without touching the mouse.
What find unique words does
Emits only lines with a frequency of exactly one. Not the same as dedupe.
Frequency = 1, not "keep first occurrence"
If `banana` appears twice, it is dropped entirely - unlike Find unique items (dedupe), which would keep the first `banana`. This tool returns the set of values that appear exactly once in the input.
Case and whitespace fold into the count key
Case sensitive off merges `Apple` / `apple` / `APPLE` into a single count. Trim on merges `apple` and `apple ` too. Both toggles change the equality key used for counting; the first-occurrence spelling is the one that survives in the output.
Line-based, not word-tokenised
A line with `apple banana` is one unit. To analyse actual words in running prose, split first with Split a list into items on whitespace, then run this tool on the word-per-line output.
Blank lines are lines too
Multiple blank lines count as repeats of the empty string and drop out together. A single blank line appears exactly once, so it survives. Drop blanks first with Remove empty items if that is not what you want.
Runs in the browser
Input never leaves your tab. The count is a single-pass `Map` keyed on the normalised value, so the tool handles long lists without a round trip to any server.
Worked example
Default: Case sensitive off, Trim on. `apple`/`Apple` merge to `apple` (count 2, dropped). `banana` appears twice (dropped). Only `orange` and `pear` survive.
apple banana Apple banana orange pear
orange pear
Settings reference
How each option changes the output, with the sample above as input.
| Setting | What it does | Effect on the sample |
|---|---|---|
| Case sensitive: on | Differentiates words by case | Keeps 'apple' and 'Apple' as separate entries |
| Case sensitive: off | Ignores case differences | Considers 'apple' and 'Apple' as the same |
| Trim: on | Removes leading and trailing spaces | Ensures no extra space affects word matching |
| Trim: off | Keeps spaces intact | Spaces may cause word mismatches if present |