Utilities tool

Compare two lists

Find overlap, missing entries, or unique items.

Your inputs

One item per line. An empty list is allowed when the other list has items.
One item per line. Empty lines are ignored.

Your results

Ready when you are
Add your inputs or try an example.
Your results will appear here.

How it works

Compare two lists to find items present only in A, only in B, or in both, and collect their union. Choose case and surrounding-whitespace rules. Duplicate matches count once in each result set, while the table shows every item’s original occurrence counts. Copy or download the grouped results.

Only A = unique(A) − unique(B). Only B = unique(B) − unique(A). Overlap = unique(A) ∩ unique(B). Union = unique(A) ∪ unique(B). Item identity follows the case and whitespace options; counts are distinct-item counts, not line totals.
Read the source reference ↗

A few things to know

Both lists together support at most 200,000 characters and 10,000 nonempty lines. Empty lines are ignored; whitespace-only lines are items when trimming is disabled. Case-insensitive matching uses Unicode lowercase conversion, without accent removal, fuzzy matching, or Unicode normalization. The first matching item’s spelling is retained. Duplicate occurrences are shown in the table but are collapsed in exported result sets. All list processing is local to your browser.

A little context

When to use this tool

Comparing two lists is useful when you need to reconcile exports, check a migration or find missing items. This tool returns items unique to either list, their overlap and the combined set. Matching follows the case and whitespace rules you choose. Duplicate lines count once in the result sets, while the table retains occurrence counts so you can distinguish membership differences from repeated entries.

  • Compare old and new URL lists after a content migration.
  • Find product identifiers missing from one of two exports.
  • Reconcile two keyword lists and keep a combined unique collection.

How to use compare two lists

  1. Paste one item per line

    Put your source collections into List A and List B. An empty list is allowed if the other has items. For CSV exports, extract the relevant column first rather than pasting the entire table.

  2. Choose what counts as a match

    Decide whether case matters and whether to trim surrounding spaces. Case-insensitive matching lowercases values for comparison; it does not remove accents, rearrange words or identify similar spellings.

  3. Inspect sets and occurrences

    Review Only in A, Only in B, In both lists and Union. Use the table to inspect duplicate counts, then copy or download the grouped text. Results retain first-seen spelling and order.

Try the numbers

Compare a small product-name list

Inputs

List A contains Apple, Banana, Orange and Apple. List B contains " apple ", Pear and Orange on separate lines. Choose case-insensitive matching and trim spaces.

Result

Only in A contains Banana; Only in B contains Pear. Two unique items, Apple and Orange, occur in both. The union contains four unique items. Apple has two occurrences in A and one in B.

What it means

The extra Apple line affects occurrence counts but does not create a fifth unique item. Trimming and case-insensitive matching make the spaced lowercase apple match Apple.

Common mistakes to avoid

Comparing whole CSV rows

A row with several columns is treated as one item. Extract the identifier column if you intend to compare records by ID rather than by every character in the row.

Ignoring identifier case

Some identifiers are case-sensitive. Select that mode when ABC and abc represent different items; the convenient default is not appropriate for every system.

Mistaking membership for order

The comparison finds shared values and differences. It does not detect moved lines or report a sequence diff. Review ordering separately when order carries meaning.

Useful answers

Frequently asked questions

Definitions, edge cases, and practical next steps for this tool. Search all tool FAQs ↗

What is the difference between overlap and union?

Overlap contains unique items present in both lists. Union contains every unique item seen in either list. Only in A and Only in B complete the membership comparison. All four groups use the same case and whitespace settings.

How are duplicate entries handled?

Duplicates are collapsed in each exported set, but their occurrence counts remain in the table. If an identifier appears five times in A and once in B, it is still one shared item. This helps distinguish duplicate-cleaning work from missing-item work.

Does case-insensitive matching remove accents?

No. It uses Unicode lowercase conversion only. Café and cafe remain different, and alternate Unicode compositions are not normalized. Standardize the input separately when your comparison requires accent removal or a particular Unicode normalization form.

What happens when trimming is disabled?

Surrounding spaces remain part of the item, so " x " and "x" can differ. Completely empty lines are ignored, but a whitespace-only line can be an item in this mode. Choose trimming based on whether spacing is meaningful in your source.

Why is the result spelling taken from List A?

The tool scans A before B and retains the first encountered spelling for each matched item. The match may ignore case, but the output label does not become lowercase automatically. This preserves readable source text while applying your comparison rule.

Can I compare URLs or email addresses?

Yes, as plain text items. The tool does not normalize URL redirects, percent encoding, trailing slashes or email aliases. For email-specific cleaning, use the email cleaner first and review its rules. Choose case settings carefully for the kind of identifier involved.

Can one of the lists be empty?

Yes. If A is empty, every unique item in B appears under Only in B and Union. The reverse works too. Both lists cannot be empty, because there would be no comparison to perform. Empty lines alone do not supply items when trimming is on.

How large can the lists be?

Together they can contain up to 200,000 characters and 10,000 nonempty lines. For larger datasets, compare batches with a consistent matching policy or use a dedicated data workflow. Splitting batches can hide duplicates spanning batches, so review the combined result.

Explore the topic in the blog

Sources and method

Use the references below to check definitions and platform guidance. The model’s scope and limits are explained above. Read our editorial standards.

Help

How can we help?

Find instructions, report a problem, or leave a message.

Read this tool’s FAQs ↗

Guides for this tool

Why your CSV opens in one column.Flatten the records. Preserve their meaning.
Common questions

Where do I start? Try an example, then replace its values with yours.

Why did my upload fail? Check the field error, accepted format and file-size limit. Start with a small sanitized sample.

Where are my results? Review the result panel, then use its copy or download controls. If a calculation fails, check the error beside the input.

Message us

Chat opens Tawk.to. It processes your messages and connection data. Do not paste private inputs or file contents. Availability and response times vary.