List Comparer

Compares two separator-delimited lists and reports three sections: items found only in List A, items found only in List B, and items found in both, each deduped within its own list. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-27

Overview

Introduction

Comparing two lists by hand, spotting what's shared and what's unique to each side, quickly becomes impractical once either list grows past a few dozen entries.

List Comparer automates the whole comparison in one pass, reporting exactly what's only in List A, only in List B, and shared by both.

What Is List Comparer?

A two-list set comparison tool: it treats each list as a set of distinct values and reports the three natural partitions of their union: A-only, B-only, and the intersection.

It's the two-input generalization of tools like Common List Item Finder (intersection only) and Distinct List Item Finder (symmetric difference only), giving you the complete picture in a single result.

How List Comparer Works

Both inputs are split into items using the shared selected separator, then each list is deduped into a set of distinct values.

List A's deduped values are checked against List B's set (and vice versa) to build the only-in-A and only-in-B sections; values present in both sets form the third, shared section.

When To Use List Comparer

Use it to spot what changed between two versions of a list, like a before/after export of tags, IDs, or usernames.

It's also useful for auditing overlap between two independently maintained lists, such as an allow-list and a denied-list.

Features

Advantages

  • Reports all three comparison sections in a single pass instead of running three separate tools.
  • Dedupes each input list automatically, so internal repeats don't skew the comparison.

Limitations

  • Comparison is exact and case-sensitive with no trimming applied.
  • Only handles two lists; use Three-List Comparer for a three-way comparison.

Examples

Comparing two overlapping lists

Input

List A: a, b, c
List B: b, c, d

Output

Only in A: a
Only in B: d
In both: b, c

"a" is exclusive to List A, "d" is exclusive to List B, and "b"/"c" are shared by both.

A list with internal duplicates

Input

List A: a, a, b
List B: b

Output

Only in A: a
In both: b

List A's repeated "a" is deduped to a single entry before comparison.

Best Practices & Notes

Best Practices

  • Use the same separator setting for both lists, since it's shared across the whole comparison.
  • Follow up with List Subtractor if you specifically need a one-directional "remove B from A" result rather than the full three-way breakdown.

Developer Notes

Builds `Set<string>` objects for each list via `new Set(items)`, then computes each section with `Array.prototype.filter()` against the opposite set's `.has()` method, giving each membership check O(1) average time.

List Comparer Use Cases

  • Diffing two exported lists to see what was added or removed between versions
  • Auditing overlap between two independently maintained allow-lists or deny-lists
  • Reconciling two datasets that should theoretically match but may have drifted

Common Mistakes

  • Assuming order or duplicate counts are preserved; each section is a deduped set-based result, not a raw positional diff.
  • Forgetting both lists share one separator setting; mixed-format lists need to be normalized first.

Tips

  • If you only need the intersection or only the symmetric difference, Common List Item Finder and Distinct List Item Finder give a more focused single-list result.
  • Chain the "only in A" or "only in B" section into another list tool for further processing.

References

Frequently Asked Questions