Compare two lists: find what's shared, added, or missing

To compare two lists in Listalyze:

  1. Open the app with your first list in the editor. This is List A.
  2. Open the compare panel and paste your second list — List B — into the box.
  3. Pick the result you want: Only in your list (A), Only in pasted list (B), In both lists, or Either list (union). Click Apply to make it your working list, or Download report.

Everything runs in your browser. Here is how to read each result and how to make the match smarter than a literal character comparison.

What each result means

Comparing two lists is a set operation, and the four tabs map directly to the sets:

  • Only in your list (A) — items in A that are not in B. Use this for “who unsubscribed” (was in the old list, not the new one) or “what did we drop.”
  • Only in pasted list (B) — items in B that are not in A. This is “what’s new” — the additions.
  • In both lists — the intersection. Items that appear in A and B.
  • Either list (union) — every distinct item across both, de-duplicated.

The panel shows live counts next to each tab and a one-line summary — A · B · both · union — so you can sanity-check the totals before applying.

Match on meaning, not just exact characters

The trap with comparing lists is that two items can be “the same” without being character-for-character identical. [email protected] and [email protected] are the same mailbox; example.com/ and example.com are the same URL. A literal comparison treats them as different and your “missing” and “shared” counts come out wrong.

Listalyze’s compare panel has normalization toggles so matches reflect intent:

  • Trim surrounding whitespace and Case sensitive (off by default for forgiving matches).
  • Ignore punctuation, Ignore spaces, Ignore accents for messy text.
  • Normalize emails and Normalize URLs so address and link variants line up.

These affect how items are matched, not the text you get back — the same no-silent-transform principle behind the dedupe guide for emails, where case and whitespace variants collapse to one real address.

A worked example

Say List A is last month’s subscribers and List B is this month’s:

  • Only in A = people who left.
  • Only in B = people who joined.
  • In both = people who stayed.
  • Union = everyone who was ever on either list.

Turn on Normalize emails first so [email protected] and [email protected] are counted as one person, not two.

It handles big lists, offline

Compare runs locally, so neither list is uploaded and it keeps working offline once the page has loaded. That is also why it scales: a 1,000,000-line file loads in roughly 1.8 seconds in-browser, and comparisons stay fast on lists far too large for a spreadsheet’s diff. Nothing leaves your machine — more on that on Security & your data.

For the full tour of sort, clean, dedupe, regex, and compare, see the overview of Listalyze. If your next step after comparing is ordering the result, see how to sort a large list.

Try it now

Paste a second list, choose only-in-A, only-in-B, both, or union, and apply or download the report — with email and URL normalization, nothing uploaded.

Open the app and compare two lists →

The web app is free today; a CLI and desktop builds are rolling out — see pricing for what is free and what Pro adds.