Home · Free tools · Compare two lists

Compare two lists

A free list comparison tool: paste one list on the left and the other on the right. You get three columns back: what is in both, what is only in list A, what is only in list B — plus a count of the duplicates each list contained. It updates as you type, and your lists are not sent anywhere.

List A one value per line

List B one value per line

Doing this every month? Do it once in TableDI 2, save it as a job, and run it again next month. Download TableDI 2 free

Nothing is uploaded. The file is read by JavaScript in this tab and never leaves your computer — no server sees it, and closing the tab throws it away.

Three answers, not one

"Compare two lists" almost always means one of three different questions, and which one matters changes with the task:

  • In both — the overlap. Who is on the invite list and also already a customer.
  • Only in list A — what the first list has that the second is missing. Invoices we sent that the bank statement does not show.
  • Only in list B — the reverse. Charges on the statement with no invoice behind them.

All three are computed at once, each with its own count and its own copy and download buttons, because the useful next step is usually to paste one of them somewhere else.

Case, whitespace and duplicates

Leading and trailing spaces are always trimmed — a value copied out of a spreadsheet usually carries one, and "matching" that fails on an invisible space wastes an afternoon. Upper and lower case are ignored unless you untick that box, which suits email lists, where Bob@example.com and bob@example.com are the same mailbox; untick it for codes where case matters.

Repeats inside one list are collapsed, and the count of what was collapsed is shown — a list of 500 emails that turns out to hold 40 duplicates is itself a finding.

Compare 2 lists from anywhere: Excel columns, CSV exports, plain text

A list is anything with one value per line, so this works for the cases a spreadsheet formula does not reach: a column copied out of Excel or Google Sheets, an export from a CRM or a bank, a list of SKUs, e-mails, order numbers or names pasted from a document. Most list comparison tools return one column of differences; this one returns the matches and both sets of non-matches, because in practice the question is usually "what is missing, and on which side".

Order and length do not matter, duplicates are counted rather than silently dropped, and the result columns paste straight back into a sheet.

Doing the same thing in Excel, and why people stop

The classic spreadsheet approach is =COUNTIF(B:B, A2)>0 in a helper column, or a VLOOKUP wrapped in IFERROR. It works, and it comes with the usual costs: a helper column you have to remember to delete, absolute references that break when someone sorts the sheet, and a result that answers only one of the three questions above at a time. Running it in the other direction means writing it again on the other sheet.

For a one-off check, paste and read. When the same two lists come back every month — this month's customers against last month's, payments against invoices — the comparison belongs in a job that runs again on the new files, which is what TableDI 2 does.

Your data stays in this tab

Lists pasted into comparison sites are usually email addresses, customer IDs or account numbers. This page computes the answer in your browser as you type — your lists are never put in a request, so there is nothing to intercept, log or retain.

Questions people ask

How do I compare two lists in Excel for matches?

In Excel you would add a helper column with =COUNTIF(B:B, A2)>0 and filter on it. This page skips the helper column and gives you the matches, plus both sets of non-matches, at once. Copy the columns out of Excel, paste them here, and paste the result back.

Can I compare two columns from a spreadsheet?

Yes — select a column in Excel or Google Sheets, copy it, and paste it into one of the boxes. A copied column arrives as one value per line, which is exactly the format this page expects.

Does it handle lists with different lengths?

Yes. The lists do not need to be the same length or in the same order; matching is by value, not by row position.

What is the quickest way to compare 2 lists?

Paste both lists and read the three columns: in both, only in A, only in B. No sorting, no formulas and no sign-up; matching is by value, so the lists can be in any order and of any length. If the two lists live in two files, use the Excel file comparison tool instead.

Are my files uploaded anywhere?

No. The file is read by JavaScript running in this tab, using the browser's own DecompressionStream to unzip .xlsx and a parser that runs on your machine. The page does load two visitor counters — static.cloudflareinsights.com and this site's own /_vercel/insights — but no request carrying your data appears in the network tab while you use it. Close the tab and the data is gone.

How many values can I paste?

Tens of thousands paste and compare without trouble. Beyond that the browser's own limits on textarea size start to matter — at that point use the file comparison tool, which reads .csv and .xlsx directly.

Doing this every month?

In TableDI 2 you match the two list files once and save it as a job. Next month you drop in the new files and run it again.

macOS, Apple silicon and Intel; Windows is in progress (what to do meanwhile). Free is not a trial — no account, no card.

Last reviewed 2026-09-11 by the TableDI team. Something wrong on this page? Tell us — it is one inbox, read by the people who build TableDI.