Skip to content

Tool 19 / Compare

What is on one list and not the other.

Paste two lists and get three clean answers: shared, only here, only there. Built for inventories, guest lists, tags, and every spreadsheet reconciliation that starts with a sigh.

  • Free to use
  • Set comparison
  • Runs locally
List comparison workbench38% overlap

Only in A · 3

Missing from the second list

  1. Northwind Analytics
  2. Juniper Works
  3. Atlas Outdoor

In both · 3

Shared by both lists

  1. Bright Harbor Coffee
  2. Cedar & Co.
  3. Meridian Health

Only in B · 2

Missing from the first list

  1. Paper Kite Studio
  2. Field Notes Supply
6 unique in A5 unique in B3 shared37.5% Jaccard similarity

What it does

Compare Two Lists reads each side as a set of items and works out the overlap. It reports what appears in both lists, what appears only in the first, and what appears only in the second. Each item is treated as a whole line (or a whole comma-separated value), not as a sequence of characters, so a difference in order does not matter.

The comparison can ignore case and edge spaces, which is usually what you want when one list came from a form and the other from a spreadsheet. It can also be exact, which is what you want when the casing or the spacing is part of the identifier. The two modes are a single switch, not a hidden assumption.

The three columns

Only in A
Items that appear in the first list and nowhere in the second. In a reconciliation, these are the records the other side is missing.
In both
The intersection. These are the matches. The displayed spelling comes from the first list, so you can see which version of the name or code was treated as canonical.
Only in B
Items that appear in the second list and nowhere in the first. These are the additions, the extras, or the records that only exist on the other side.

Every column has its own copy button, and the whole report can be downloaded as a text file. The report includes the three sections and the similarity figure, which makes it easy to paste into a ticket or an email.

Duplicates and similarity

A list can contain the same item twice. The comparison counts unique items, but it does not pretend the repeats are invisible. A strip below the columns names the items that repeat inside A or inside B. That distinction matters: “Ann appears twice in the source list” is a different problem from “Ann is missing from the other list”.

Jaccard similarity is the size of the intersection divided by the size of the union. If A has four unique items and B has four, and two are shared, the union has six items and the similarity is 2/6, or 33%. It is a compact way to see whether two lists are broadly the same or mostly different. It says nothing about whether the items are spelled correctly or whether they refer to the same real-world thing.

Examples

A guest list and a reply list
One per line · ignore case

Before

List A: Ann, Ben, Cara, Dan
List B: ann, Cara, Dan, Elle

After

Only in A: Ben
In both: Ann, Cara, Dan
Only in B: Elle

“ann” matches “Ann” because case is ignored. “Ben” is missing from the replies, and “Elle” is a reply from someone who was not on the original list. That is the whole reconciliation in three lines.

Two SKU exports
Exact case · edge spaces ignored

Before

A: SKU-001, SKU-002, SKU-003
B: SKU-002, SKU-004

After

Only in A: SKU-001, SKU-003
In both: SKU-002
Only in B: SKU-004

With exact case, a lowercase sku-002 would not match. That is deliberate: SKUs are identifiers, and a case difference may be a real data problem rather than a formatting nuisance.

A list with repeats
Duplicates reported separately

Before

A: red, blue, red, green
B: blue, green, green

After

Only in A: — 
In both: blue, green
Only in B: —
Repeated in A: red
Repeated in B: green

The unique comparison is clean, while the duplicate strip still tells you that the source lists contain repeats. Use that information before you trust a count.

Limits worth knowing

  • It is not a fuzzy matcher. “Jon” and “John” are different items. “Acme Inc.” and “Acme, Inc.” are different unless you normalize the punctuation first. There is no edit-distance threshold or synonym matching.
  • Whitespace inside an item is significant. The trim option only removes spaces at the edges. “New York” and “New York” are different items.
  • Delimiters are not escaped. A comma-separated list cannot contain a literal comma inside an item. Use one item per line when the values can contain the delimiter.
  • Similarity is a ratio, not a verdict. Two lists can be 100% similar and still be wrong if both contain the same mistake.
  • Nothing is stored. The lists disappear on refresh. Copy the report or download it before leaving.

Page updated

Questions, answered

What is the difference between this and Compare Text?

Compare Text compares two drafts line by line and shows word-level edits inside each changed line. Compare Two Lists treats each line as an independent item and tells you which items are shared, which are unique to one side, and which repeat. Use Compare Text for prose; use Compare Two Lists for inventories, guest lists, SKUs, and tags.

Does order matter?

No. The comparison is set-based, so the same items in a different order produce the same three columns. The display order follows the first appearance in the input unless you turn on sorting. If order is part of the question, you want a diff, not a list comparison.

How are duplicates handled?

A repeated item is counted once in the unique count and listed once in the result, but it is also reported in the duplicate strip below the columns. That way a list of ten entries with three repeats shows seven unique items and names the repeated ones.

What is Jaccard similarity?

It is the number of shared unique items divided by the number of unique items in either list. Two identical lists score 100%; two lists with no overlap score 0%. It is a quick summary, not a measure of whether the lists mean the same thing.

Can I compare comma-separated lists?

Yes. Choose comma, semicolon, or pipe as the delimiter. The default is one item per line. Edge spaces are ignored by default, so “Ann, Ben” and “Ann,Ben” produce the same items.

All tools →