Compare two lists
Two lists in, four answers out: lines in both, lines only in A, lines only in B, and the full union. Editable side-by-side, live update.
For when you need to know what overlaps.
Two subscribers exports. Two error fingerprint dumps. A list of expected files and a list of what shipped. The question is always the same: what overlaps, what's missing, what's extra?
Compare takes two lists and returns four answers at once — intersect, A-only, B-only, union — via a single Set operation in your browser.
Paste list A
Drop one item per line into the left box.
Paste list B
Drop one item per line into the middle box.
Switch tabs
Click IN BOTH / A ONLY / B ONLY / UNION on the right to see the four views. All update live. Hit Copy to grab the current view.
Is order preserved?
Within each view, items appear in their original input order (A-then-B for union). Lines are deduped within each list before comparison.
How is case handled?
Case-sensitive by default — "Apple" and "apple" are different. Toggle CASE-INSENSITIVE to merge them.
What counts as a "line"?
Anything between \n boundaries, after optional trim. Blank lines are dropped from the input before comparison.
Can I compare more than two lists?
Not in this tool — do it pairwise. Compare A vs B, then take the result and compare against C.
Does this work as a fuzzy / similarity diff, or only strict exact-match?
Strict exact-match only — two lines are "equal" if every character matches (optionally case-insensitive). It does not do fuzzy matching, Levenshtein distance, or semantic similarity. If foo bar appears in A and foo bar (two spaces) in B, they're considered different. For fuzzy diff use a real diff tool like diff -y, Beyond Compare, or one of the JS libraries listed in our how-to-compare-two-lists blog post.
How big can the two lists be?
Compare has the highest memory pressure of the eight — it builds an in-memory Set per list, typically using 3–5× the original size. Comfortable up to ~100k lines per list; ~500k lines per list works on desktops with adequate memory. The output preview for each tab (Both / A-only / B-only / Union) truncates independently at 5,000 lines, but Copy always operates on the full visible view.
Is this an intersection, difference, and union tool?
Yes — those three set operations map to the four tabs this tool gives you. IN BOTH is the intersection (lines common to both lists). A ONLY is the difference A − B; B ONLY is B − A (lines unique to each side). UNION is the deduped combination of both. One paste, four answers — no need to run separate operations.