Find removals

Find removals returns every line in text A that does not appear in text B. Paste both into the input pane separated by a line of ---; the tool loads text B into a set, walks text A, and keeps any line not present in the set. Order follows text A. The match runs in your browser; nothing uploads. For lines added in B see find additions.

Input
Line 1:1 LF cloud_done Saved locally
Result Find Removals
0 lines 0 chars

Set difference A minus B

Find removals computes the set difference A − B: every line that existed in text A but is gone from text B. The split between texts is a line containing exactly ---. Lines from text B are loaded into a JavaScript Set; text A is walked line by line and any entry not in B's set is emitted.

Matching is exact: case, whitespace, and trailing spaces all count. Hello and hello are treated as different lines. Pre-clean with trim whitespace if margin whitespace is producing false positives, or lowercase both halves first with lowercase for case-folded matching.

Output preserves the order in text A. The mirror operation is find additions, which returns B − A. Run both for a complete diff of what changed between two list states. For lines unchanged across both see find common lines.

How to use find removals

  1. 1Paste the older list as text A, then a line with ---, then the newer list as text B.
  2. 2The output panel lists every entry from A that no longer appears in B, in A's order.
  3. 3Click Copy to copy the removals list, or Download to save it.
  4. 4Pivot to find additions for the opposite direction (B − A).
  5. 5Pre-clean with trim whitespace if trailing whitespace is blocking matches.

Keyboard shortcuts

Drive TextResult without touching the mouse.

Shortcut Action
Ctrl FOpen the find & replace panel inside the input Plus
Ctrl ZUndo the last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor Plus
EscClose find & replace, or exit fullscreen
Ctrl KOpen the command palette to jump to any tool Plus
Ctrl SSave current workflow draft Plus
Ctrl PRun a saved workflow Plus

How the removals list is built

Set difference A minus B

Lines from text B are loaded into a JavaScript Set. Text A is walked line by line and each entry is checked; any line not in B's set is emitted to the output.

Order follows text A

Output preserves A's order. A removed entry that sat at line 2 in A comes before another removal at line 9 in A.

Exact, case-sensitive match

Comparison is byte-for-byte. Hello and hello register as different. Lowercase first if you want case-folded matching.

Mirror of find-additions

Find removals is A − B. Find additions is B − A. Use both together for a complete change picture.

Three-hyphen separator

The split between A (old) and B (new) is a line containing exactly ---. The tool needs this marker to know which side is which.

Worked example

Two entries (dave and eve) existed in A but no longer appear in B. The shared three names are filtered out. For the reverse direction see find additions.

Input
alice
bob
carol
dave
eve
---
alice
bob
carol
Output
dave
eve

Settings reference

Behaviour Effect on output
Separator A line containing exactly --- splits text A (old) from text B (new).
Operation Set difference A − B.
Match rule Exact string equality, case and whitespace sensitive.
Order Follows text A.
Duplicates in A Preserved if not present in B.
Mirror operation find additions returns B − A.
Missing separator Output prompts for two halves split by ---.

FAQ

How is this different from find unique lines?
They produce the same result. Find unique lines is the older name; find removals reframes the operation in change-tracking language. Both return A − B.
Are matches case sensitive?
Yes. Hello and hello count as different lines. Lowercase both sides first with lowercase for case-folded matching.
Why is a clearly removed line not showing up?
Almost always trailing whitespace. Run both halves through trim whitespace first to strip margin spaces.
How do I see lines that were added in B?
Pivot to find additions with the same input, or swap the halves around the --- separator.
Will the output be sorted?
No. It follows A's order. Paste the result into a sort tool afterwards if you need it ordered.